Function at 0x410130
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x94
mov eax, dword [0x4fc040]
xor eax, esp
mov dword [esp + 0x90], eax
push ebx
mov ebx, ecx
mov byte [esp + 0x27], dl
push esi
push edi
xor edx, edx
mov dword [esp + 0x3c], ebx
xor edi, edi
mov dword [esp + 0x24], edx
cmp dword [ebx + 0xe28], 2
mov dword [esp + 0x40], edi
je 0x4130a6
mov esi, dword [sym.imp.KERNEL32.dll_GetTickCount]
or eax, 0xffffffff
xor ecx, ecx
mov dword [esp + 0x44], esi
mov esi, dword [0x4c78a0]
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], ecx
jmp 0x4101a4
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x24]
mov esi, dword [0x4c78a0]
nop dword [eax]
mov eax, dword [esp + 0x28]
cmp edx, edi
jb 0x4102ee
cmp eax, 0xffffffff
jne 0x4102f7
lea ecx, [ebx + 0x80]
call fcn.00459100
test eax, eax
je 0x413056
mov ecx, dword [esp + 0x20]
cmp dword [ebx + 0x20dc], 0
jne 0x413056
cmp edx, edi
jne 0x41026c
mov edx, edi
lea ecx, [ebx + 0x80]
call fcn.00491630
lea ecx, [ebx + 0x80]
xor edi, edi
call fcn.00459100
test eax, eax
je 0x413056
lea ecx, [ebx + 0x80]
call fcn.004916c0
mov ecx, eax
mov dword [esp + 0x24], edx
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0x41023b
push 0xed3
push str.C:Usersomahr_source_reposputty_caccode_terminal_terminal.c
push str.chars___NULL
call fcn.004a3dca
mov edx, dword [esp + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x20]
test edx, edx
jne 0x410266
push 0xed4
push str.C:Usersomahr_source_reposputty_caccode_terminal_terminal.c
push str.nchars_used___nchars_got
call fcn.004a3dca
mov ecx, dword [esp + 0x2c]
add esp, 0xc
mov edx, dword [esp + 0x24]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov esi, dword [0x4c78a0]
movzx ecx, byte [ecx + edi]
inc edi
cmp dword [ebx + 0x10f0], 2
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x40], edi
jne 0x4102a8
mov eax, dword [ebx + 0x1068]
test eax, eax
je 0x4102a8
mov dl, cl
mov ecx, eax
push 2
call fcn.0041b970
mov esi, dword [0x4c78a0]
add esp, 4
mov ecx, dword [esp + 0xc]
cmp byte [ebx + 0xe4], 0
je 0x410386
push 1
lea ecx, [ebx + 0xec]
lea edx, [esp + 0x18]
call fcn.00491570
add esp, 4
cmp byte [ebx + 0xe5], 0
je 0x410378
mov eax, dword [esp + 0x14]
cmp eax, 0x1b
jne 0x41030a
mov dword [ebx + 0xe8], 1
jmp 0x41018f
cmp eax, 0xffffffff
je 0x4101cc
mov ecx, eax
or eax, 0xffffffff
mov dword [esp + 0xc], ecx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
jmp 0x4102a8
cmp eax, 0x9b
jne 0x410320
mov dword [ebx + 0xe8], 2
jmp 0x41018f
mov ecx, dword [ebx + 0xe8]
cmp eax, 0x5b
jne 0x410330
cmp ecx, 1
je 0x410311
cmp eax, 0x34
jne 0x410349
cmp ecx, 2
jne 0x410369
mov dword [ebx + 0xe8], 3
jmp 0x41018f
cmp eax, 0x69
jne 0x410369
cmp ecx, 3
jne 0x410369
mov ecx, ebx
mov dword [ebx + 0xe8], 4
call fcn.0040f5f0
jmp 0x41018f
mov dword [ebx + 0xe8], 0
jmp 0x41018f
mov ecx, dword [esp + 0x14]
mov esi, dword [0x4c78a0]
mov dword [esp + 0xc], ecx
cmp dword [ebx + 0xe24], 0
jne 0x4103d6
push ecx
lea eax, [ebx + 0xd8]
push eax
push ebx
call fcn.0040fde0
add esp, 0xc
cmp eax, 0x80000021
je 0x4103c5
cmp eax, 0x8000002a
je 0x4103cd
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
cmp eax, 0x8000003f
je 0x4101a0
mov ecx, eax
jmp 0x4103d2
mov eax, dword [esp + 0xc]
mov dword [esp + 0x28], eax
mov ecx, 0xd961
mov dword [esp + 0xc], ecx
mov eax, ecx
and eax, 0xffffffe0
cmp eax, 0x80
jne 0x41045a
cmp dword [ebx + 0xe24], 5
jge 0x41045a
cmp byte [ebx + 0x13e], 0
jne 0x41045a
test byte [ebx], 0x10
je 0x41045a
cmp ecx, 0x9a
jne 0x41043c
xor ecx, ecx
mov dword [esp + 0xc], ecx
test ecx, 0xffffffe0
jne 0x41095f
mov edx, dword [ebx + 0xe24]
cmp edx, 5
jge 0x41095f
add ecx, 0xfffffffb
cmp ecx, 0x16
ja case.0x410f93.10545
movzx eax, byte [ecx + 0x4130ec]
jmp dword [eax*4 + 0x4130bc]
and ecx, 0x1f
mov dword [ebx + 0xe24], 1
add ecx, 0x40
mov dword [ebx + 0x210], 0
mov dword [esp + 0xc], ecx
cmp ecx, 0x7f
jne 0x410407
cmp dword [ebx + 0xe24], 5
jge 0x410407
test dword [ebx], 0x4000
je 0x410407
mov eax, dword [ebx + 0x98]
mov edx, eax
test eax, eax
je 0x41048e
cmp byte [ebx + 0xae], 0
jne 0x41048e
lea edx, [eax - 1]
mov dword [ebx + 0x98], edx
cmp byte [ebx + 0x10f9], 0
mov byte [ebx + 0xae], 0
jne 0x4104f0
push dword [ebx + 0x94]
mov ecx, ebx
call fcn.0040e8f0
mov edx, dword [ebx + 0x98]
add esp, 4
inc edx
mov ecx, ebx
push dword [ebx + 0x94]
call fcn.0040e8f0
add esp, 4
lea eax, [ebx + 0x6c]
push eax
push ecx
push 1
push 0xf2f
push dword [ebx + 0x94]
push ebx
call fcn.0040bdf0
mov edx, dword [ebx + 0x98]
add esp, 0x14
mov ecx, eax
call fcn.0040af00
add esp, 4
mov ecx, ebx
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test byte [ebx], 1
je 0x41074d
cmp dword [ebx + 0x1060], 0
je case.0x410f93.10545
push dword [ebx + 0x10b4]
xor edx, edx
mov ecx, ebx
push dword [ebx + 0x10b0]
call fcn.0040fcc0
mov ecx, dword [ebx + 0x1060]
mov esi, eax
push 0
push dword [esi + 8]
mov edx, dword [esi]
call fcn.0041e640
add esp, 0x10
mov ecx, esi
call fcn.0048fee0
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
cmp edx, 3
je case.0x41286e.156
cmp edx, 4
je case.0x41286e.156
call dword [esp + 0x44]
cmp byte [ebx + 0x34], 0
mov esi, eax
jne 0x4105a7
mov edx, 8
push 0
lea ecx, [edx - 7]
call fcn.0048ffe0
mov ecx, eax
add esp, 4
mov dword [ecx + 4], esi
mov dword [ecx], 0
cmp dword [ebx + 0x28], 0
jne 0x41059c
mov dword [ebx + 0x28], ecx
jmp 0x4105a1
mov eax, dword [ebx + 0x2c]
mov dword [eax], ecx
inc dword [ebx + 0x30]
mov dword [ebx + 0x2c], ecx
mov ecx, dword [ebx + 0x28]
test ecx, ecx
je 0x4105d4
nop
mov eax, esi
sub eax, dword [ebx + 0x10cc]
cmp dword [ecx + 4], eax
jae 0x4105d4
mov eax, dword [ecx]
mov dword [ebx + 0x28], eax
call fcn.00490070
mov ecx, dword [ebx + 0x28]
dec dword [ebx + 0x30]
test ecx, ecx
jne 0x4105b0
mov dword [ebx + 0x2c], ecx
mov cl, byte [ebx + 0x10c0]
test cl, cl
je 0x41060e
cmp byte [ebx + 0x34], 0
je 0x4105fa
mov eax, esi
sub eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 0x10c8]
jb 0x41060e
mov byte [ebx + 0x34], 0
mov dword [ebx + 0x38], esi
jmp 0x410615
mov eax, dword [ebx + 0x30]
cmp eax, dword [ebx + 0x10c4]
jl 0x41060e
mov byte [ebx + 0x34], 1
mov dword [ebx + 0x38], esi
jmp 0x410615
mov dword [ebx + 0x38], esi
test cl, cl
je 0x41061f
cmp byte [ebx + 0x34], 0
jne 0x4106e4
mov ecx, dword [ebx + 0x1064]
push dword [ebx + 0x10bc]
push ecx
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
call eax
add esp, 8
cmp dword [ebx + 0x10bc], 2
jne 0x4106e4
push 0
xor dl, dl
mov ecx, ebx
call fcn.0040c160
add esp, 4
mov ecx, ebx
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
cmp byte [ebx + 0xae], 0
je 0x410685
mov ecx, ebx
mov byte [ebx + 0xae], 0
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
mov eax, dword [ebx + 0x98]
test eax, eax
jne 0x4106dd
mov ecx, dword [ebx + 0x94]
test ecx, ecx
je 0x4106e4
cmp byte [ebx + 0xad], al
je 0x4106e4
test ecx, ecx
jle 0x4106dd
mov eax, dword [ebx + 0x12c]
dec eax
push 1
mov dword [ebx + 0x98], eax
lea eax, [ecx - 1]
push 0xfae
push eax
push ebx
mov dword [ebx + 0x94], eax
call fcn.0040bdf0
mov ecx, eax
add esp, 0x10
mov eax, dword [ebx + 0x98]
test eax, eax
jle 0x4106e4
test byte [ecx], 0x20
je 0x4106e4
dec eax
mov dword [ebx + 0x98], eax
mov ecx, ebx
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test byte [ebx], 2
je 0x41074d
mov dword [ebx + 0xb0], 1
jmp case.0x410f93.10545
test byte [ebx], 2
je 0x41074d
mov dword [ebx + 0xb0], 0
jmp case.0x410f93.10545
cmp byte [ebx + 0x13e], 0
je 0x410736
mov dword [ebx + 0xe24], 0xa
jmp case.0x410f93.10545
cmp edx, 3
je 0x4129a7
cmp edx, 4
je 0x4129a7
test byte [ebx], 1
jne 0x41075c
mov dword [ebx + 0xe24], 0
jmp case.0x410f93.10545
mov dword [ebx + 0xe24], 1
mov dword [ebx + 0x210], 0
jmp case.0x410f93.10545
mov ecx, ebx
mov dword [ebx + 0x98], 0
mov byte [ebx + 0xae], 0
call fcn.0040c060
cmp byte [ebx + 0x10e0], 0
je 0x4107d1
mov ecx, dword [ebx + 0x94]
mov eax, dword [ebx + 0xa8]
cmp ecx, eax
jne 0x4107bd
mov edx, dword [ebx + 0xa4]
mov ecx, ebx
push 1
push 1
push eax
call fcn.0040e4b0
add esp, 0xc
jmp 0x4107d1
mov eax, dword [ebx + 0x128]
dec eax
cmp ecx, eax
jge 0x4107d1
lea eax, [ecx + 1]
mov dword [ebx + 0x94], eax
mov eax, dword [ebx + 0x1068]
test eax, eax
je case.default.0x412652
mov edx, dword [esp + 0xc]
mov ecx, eax
push 1
call fcn.0041b970
mov esi, dword [0x4c78a0]
add esp, 4
jmp case.0x410f93.10545
test dword [ebx], 0x1000
je case.0x410435.11
push 0
push 0
xor edx, edx
mov ecx, ebx
call fcn.0040e720
push 1
push 0
xor dl, dl
mov ecx, ebx
call fcn.0040e990
add esp, 0x10
cmp byte [ebx + 0x1109], 0
je 0x41082f
mov dword [ebx + 0x10], 0
mov ecx, ebx
mov byte [ebx + 0xae], 0
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test byte [ebx], 2
jne case.0x410435.10
mov dword [ebx + 0xe24], 0
jmp case.0x410f93.10545
mov ecx, dword [ebx + 0x94]
mov eax, dword [ebx + 0xa8]
cmp ecx, eax
jne 0x410883
mov edx, dword [ebx + 0xa4]
mov ecx, ebx
push 1
push 1
push eax
call fcn.0040e4b0
add esp, 0xc
jmp 0x410897
mov eax, dword [ebx + 0x128]
dec eax
cmp ecx, eax
jge 0x410897
lea eax, [ecx + 1]
mov dword [ebx + 0x94], eax
cmp byte [ebx + 0x10ec], 0
je 0x4108aa
mov dword [ebx + 0x98], 0
mov ecx, ebx
mov byte [ebx + 0xae], 0
call fcn.0040c060
jmp 0x4107d1
mov esi, dword [ebx + 0x94]
mov eax, dword [ebx + 0x98]
push 1
push 0xff3
push esi
push ebx
mov dword [esp + 0x24], eax
call fcn.0040bdf0
mov edx, dword [ebx + 0x12c]
add esp, 0x10
mov edi, eax
dec edx
nop word [eax + eax]
mov ecx, dword [ebx + 0x98]
inc ecx
mov dword [ebx + 0x98], ecx
cmp ecx, edx
jge 0x41090d
mov eax, dword [ebx + 0xe20]
cmp byte [ecx + eax], 0
je 0x4108f0
test byte [edi], 3
mov eax, dword [ebx + 0x12c]
je 0x41092a
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x410934
dec eax
mov dword [ebx + 0x98], eax
jmp 0x410934
cmp ecx, eax
jl 0x410934
mov dword [ebx + 0x98], edx
push dword [ebx + 0x98]
mov ecx, ebx
push dword [ebx + 0x94]
push dword [esp + 0x1c]
push esi
call fcn.0040e3e0
add esp, 0x10
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
mov eax, dword [ebx + 0xe24]
cmp eax, 0xe
ja case.0x410f93.10545
jmp dword [eax*4 + 0x413104]
mov edx, ecx
mov ecx, ebx
call fcn.0040f6b0
mov ecx, dword [esp + 0xc]
mov dword [ebx + 0x1070], ecx
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
cmp ecx, 0x5c
je case.0x41286e.156
lea eax, [ecx - 0x20]
cmp eax, 0xf
ja 0x4109be
cmp dword [ebx + 0x210], 0
mov eax, 0xffffffff
cmovne ecx, eax
mov dword [ebx + 0x210], ecx
jmp case.0x410f93.10545
mov eax, dword [ebx + 0x210]
shl eax, 8
add ecx, eax
mov dword [ebx + 0xe24], 0
mov eax, ecx
cmp eax, 0x2333
ja 0x410cfe
je case.0x410d1d.9012
sub eax, 0x37
cmp eax, 0x2c
ja case.0x410f93.10545
movzx eax, byte [eax + 0x413178]
jmp dword [eax*4 + 0x413140]
mov dword [ebx + 0xe24], 2
mov dword [ebx + 0x20c], 1
mov dword [ebx + 0x18c], 0
mov dword [ebx + 0x210], 0
jmp case.0x410f93.10545
test dword [ebx], 0x4000
je case.0x410f93.10545
mov dword [ebx + 0xe24], 3
mov byte [ebx + 0x214], 0
mov dword [ebx + 0x218], 0
mov dword [ebx + 0x18c], 0
mov dword [ebx + 0x20c], 1
jmp case.0x410f93.10545
test dword [ebx], 0x4000
je case.0x410f93.10545
mov dword [ebx + 0xe24], 3
mov byte [ebx + 0x214], 1
mov dword [ebx + 0x218], 0
mov dword [ebx + 0x18c], 0
mov dword [ebx + 0x20c], 1
jmp case.0x410f93.10545
test byte [ebx], 2
je case.0x410f93.10545
mov dl, 1
mov ecx, ebx
call fcn.0040e7c0
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test byte [ebx], 2
je case.0x410f93.10545
xor dl, dl
mov ecx, ebx
call fcn.0040e7c0
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test byte [ebx], 2
je case.0x410f93.10545
mov byte [ebx + 0x13d], 1
jmp case.0x410f93.10545
test byte [ebx], 2
je case.0x410f93.10545
mov byte [ebx + 0x13d], 0
jmp case.0x410f93.10545
test byte [ebx], 2
je case.0x410f93.10545
mov ecx, dword [ebx + 0x94]
mov eax, dword [ebx + 0xa8]
cmp ecx, eax
jne 0x410b58
mov edx, dword [ebx + 0xa4]
mov ecx, ebx
push 1
push 1
push eax
call fcn.0040e4b0
add esp, 0xc
mov byte [ebx + 0xae], 0
mov ecx, ebx
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
mov eax, dword [ebx + 0x128]
dec eax
cmp ecx, eax
jge 0x410c11
lea eax, [ecx + 1]
jmp 0x410c0b
test byte [ebx], 2
je case.0x410f93.10545
mov ecx, dword [ebx + 0x94]
mov eax, dword [ebx + 0xa8]
mov dword [ebx + 0x98], 0
cmp ecx, eax
jne 0x410b58
mov edx, dword [ebx + 0xa4]
mov ecx, ebx
push 1
push 1
push eax
call fcn.0040e4b0
add esp, 0xc
mov byte [ebx + 0xae], 0
mov ecx, ebx
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test byte [ebx], 2
je case.0x410f93.10545
mov eax, dword [ebx + 0x94]
mov edx, dword [ebx + 0xa4]
cmp eax, edx
jne 0x410c06
push 1
push 0xffffffffffffffff
push dword [ebx + 0xa8]
mov ecx, ebx
call fcn.0040e4b0
add esp, 0xc
mov byte [ebx + 0xae], 0
mov ecx, ebx
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test eax, eax
jle 0x410c11
dec eax
mov dword [ebx + 0x94], eax
mov ecx, ebx
mov byte [ebx + 0xae], 0
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test byte [ebx], 2
je case.0x410f93.10545
mov ecx, dword [ebx + 0x1060]
test ecx, ecx
je case.0x410f93.10545
lea edx, [ebx + 0xa1e]
mov esi, edx
lea edi, [esi + 1]
nop dword [eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x410c50
sub esi, edi
push 0
push esi
call fcn.0041e640
mov esi, dword [0x4c78a0]
add esp, 8
jmp case.0x410f93.10545
test byte [ebx], 2
je case.0x410f93.10545
mov dl, 1
mov ecx, ebx
call fcn.0040c1b0
mov ecx, dword [ebx + 0x1060]
test ecx, ecx
je 0x410c90
call fcn.0041e220
cmp byte [ebx + 0xc5], 0
je 0x410cbe
cmp byte [ebx + 0x10fc], 0
jne 0x410cb7
push dword [ebx + 0x128]
mov edx, 0x50
mov ecx, ebx
call fcn.0040eea0
add esp, 4
mov byte [ebx + 0xc5], 0
cmp byte [ebx + 0x1109], 0
je 0x410cce
mov dword [ebx + 0x10], 0
mov ecx, ebx
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test byte [ebx], 2
je case.0x410f93.10545
mov ecx, dword [ebx + 0xe20]
mov eax, dword [ebx + 0x98]
mov byte [ecx + eax], 1
jmp case.0x410f93.10545
cmp eax, 0x2538
ja 0x410e60
je 0x410e8e
sub eax, 0x2334
cmp eax, 4
ja case.0x410f93.10545
jmp dword [eax*4 + 0x4131a8]
test byte [ebx], 2
je case.0x410f93.10545
xor eax, eax
mov dword [esp + 0x18], eax
cmp dword [ebx + 0x128], eax
jle 0x410db7
nop
push 1
push 0x108f
push eax
push ebx
call fcn.0040bdf0
add esp, 0x10
mov dword [esp + 0x14], eax
mov edx, eax
mov ecx, ebx
call fcn.0040bf00
xor esi, esi
cmp dword [ebx + 0x12c], esi
jle 0x410d9d
lea eax, [ebx + 0x58]
xor edi, edi
nop dword [eax]
mov ecx, dword [esp + 0x14]
mov edx, esi
push eax
call fcn.0040af00
mov eax, dword [esp + 0x18]
lea edi, [edi + 0x14]
inc esi
add esp, 4
mov eax, dword [eax + 0x14]
mov dword [edi + eax - 0x14], 0x45
lea eax, [ebx + 0x58]
cmp esi, dword [ebx + 0x12c]
jl 0x410d70
mov eax, dword [esp + 0x14]
xor ecx, ecx
mov word [eax], cx
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, dword [ebx + 0x128]
jl 0x410d40
cmp byte [ebx + 0x1109], 0
je 0x410dc7
mov dword [ebx + 0x10], 0
mov ecx, ebx
call fcn.0040c060
push 0
push dword [ebx + 0x128]
mov ecx, ebx
push 0
push 0
call fcn.0040e3e0
mov esi, dword [0x4c78a0]
add esp, 0x10
jmp case.0x410f93.10545
test byte [ebx], 2
je case.0x410f93.10545
sub ecx, 0x2333
je 0x410e1c
sub ecx, 1
je 0x410e15
sub ecx, 1
je 0x410e11
mov edi, 1
jmp 0x410e21
xor edi, edi
jmp 0x410e21
mov edi, 3
jmp 0x410e21
mov edi, 2
push 1
push 0x10b8
push dword [ebx + 0x94]
push ebx
call fcn.0040bdf0
add esp, 0x10
mov esi, eax
mov edx, esi
mov ecx, ebx
call fcn.0040bf00
mov edx, esi
mov ecx, ebx
call fcn.0040e480
mov ecx, ebx
mov word [esi], di
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
cmp eax, 0x2855
ja 0x410f7e
je 0x410f56
cmp eax, 0x2830
ja 0x410efd
je 0x410ed8
sub eax, 0x2540
je 0x410eb3
sub eax, 7
jne case.0x410f93.10545
test dword [ebx], 0x4000
je case.0x410f93.10545
cmp byte [ebx + 0x10fb], 0
jne case.0x410f93.10545
mov byte [ebx + 0xd5], 1
jmp case.0x410f93.10545
test dword [ebx], 0x4000
je case.0x410f93.10545
cmp byte [ebx + 0x10fb], 0
jne case.0x410f93.10545
mov byte [ebx + 0xd5], 0
jmp case.0x410f93.10545
test byte [ebx], 2
je case.0x410f93.10545
cmp byte [ebx + 0x10fb], 0
jne case.0x410f93.10545
mov dword [ebx + 0x15c], 0xd900
jmp case.0x410f93.10545
sub eax, 0x2841
je 0x410f31
sub eax, 1
jne case.0x410f93.10545
test byte [ebx], 2
je case.0x410f93.10545
cmp byte [ebx + 0x10fb], al
jne case.0x410f93.10545
mov dword [ebx + 0x15c], 0xd800
jmp case.0x410f93.10545
test byte [ebx], 2
je case.0x410f93.10545
cmp byte [ebx + 0x10fb], 0
jne case.0x410f93.10545
mov dword [ebx + 0x15c], 0xdb00
jmp case.0x410f93.10545
test dword [ebx], 0x4000
je case.0x410f93.10545
cmp byte [ebx + 0x10fb], 0
jne case.0x410f93.10545
mov dword [ebx + 0x15c], 0xda00
jmp case.0x410f93.10545
sub eax, 0x2930
cmp eax, 0x25
ja case.0x410f93.10545
movzx eax, byte [eax + 0x4131d0]
jmp dword [eax*4 + 0x4131bc]
test byte [ebx], 2
je case.0x410f93.10545
cmp byte [ebx + 0x10fb], 0
jne case.0x410f93.10545
mov dword [ebx + 0x160], 0xdb00
jmp case.0x410f93.10545
test byte [ebx], 2
je case.0x410f93.10545
cmp byte [ebx + 0x10fb], 0
jne case.0x410f93.10545
mov dword [ebx + 0x160], 0xd800
jmp case.0x410f93.10545
test byte [ebx], 2
je case.0x410f93.10545
cmp byte [ebx + 0x10fb], 0
jne case.0x410f93.10545
mov dword [ebx + 0x160], 0xd900
jmp case.0x410f93.10545
test dword [ebx], 0x4000
je case.0x410f93.10545
cmp byte [ebx + 0x10fb], 0
jne case.0x410f93.10545
mov dword [ebx + 0x160], 0xda00
jmp case.0x410f93.10545
push ecx
mov dword [ebx + 0xe24], 0
call fcn.0049ead0
add esp, 4
test eax, eax
je 0x4110d9
mov eax, dword [ebx + 0x20c]
cmp eax, 0x20
jg 0x411151
cmp dword [ebx + eax*4 + 0x188], 0
jne 0x411070
mov dword [ebx + eax*4 + 0x188], 0
mov eax, dword [ebx + 0x20c]
lea esi, [ebx + eax*4]
mov eax, dword [esi + 0x188]
cmp eax, 0x19999999
ja 0x4110ba
mov ecx, dword [esp + 0xc]
lea edx, [eax + eax*4]
mov eax, 0xffffffcf
add edx, edx
sub eax, ecx
cmp edx, eax
ja 0x4110ba
lea eax, [ecx - 0x30]
add eax, edx
mov dword [esi + 0x188], eax
mov esi, dword [0x4c78a0]
mov dword [ebx + 0xe24], 2
jmp case.0x410f93.10545
mov dword [esi + 0x188], 0xffffffff
mov esi, dword [0x4c78a0]
mov dword [ebx + 0xe24], 2
jmp case.0x410f93.10545
mov ecx, dword [esp + 0xc]
cmp ecx, 0x3b
jne 0x411113
mov eax, dword [ebx + 0x20c]
cmp eax, 0x20
jge 0x411151
mov esi, dword [0x4c78a0]
mov dword [ebx + eax*4 + 0x18c], 0
inc dword [ebx + 0x20c]
mov dword [ebx + 0xe24], 2
jmp case.0x410f93.10545
cmp ecx, 0x40
jae 0x411166
cmp dword [ebx + 0x210], 0
je 0x411140
mov esi, dword [0x4c78a0]
mov dword [ebx + 0x210], 0xffffffff
mov dword [ebx + 0xe24], 2
jmp case.0x410f93.10545
cmp ecx, 0x3f
mov eax, 1
cmove ecx, eax
mov dword [ebx + 0x210], ecx
mov esi, dword [0x4c78a0]
mov dword [ebx + 0xe24], 2
jmp case.0x410f93.10545
mov eax, dword [ebx + 0x210]
shl eax, 8
add eax, ecx
cmp eax, 0x168
ja 0x41231d
je case.0x411195.104
sub eax, 0x40
cmp eax, 0x38
ja case.default.0x412652
movzx eax, byte [eax + 0x413284]
jmp dword [eax*4 + 0x4131f8]
mov eax, dword [ebx + 0x18c]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x18c], ecx
cmove ecx, eax
mov eax, dword [ebx + 0x94]
sub eax, ecx
push 1
mov edx, dword [ebx + 0x98]
push eax
mov ecx, ebx
call fcn.0040e720
add esp, 8
mov ecx, ebx
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test dword [ebx], 0x2000
je 0x412a49
mov eax, dword [ebx + 0x18c]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x18c], ecx
cmove ecx, eax
mov eax, dword [ebx + 0x94]
add eax, ecx
jmp 0x4111c5
mov ecx, dword [ebx + 0x128]
imul ecx, dword [ebx + 0x12c]
mov eax, dword [ebx + 0x18c]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x18c], ecx
cmp dword [ebx + 0x1070], 0
je case.default.0x412652
xor esi, esi
test ecx, ecx
je case.default.0x412652
nop word [eax + eax]
mov edx, dword [ebx + 0x1070]
mov ecx, ebx
call fcn.0040f6b0
inc esi
cmp esi, dword [ebx + 0x18c]
jb 0x411260
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test dword [ebx], 0x2000
je 0x412a49
mov eax, dword [ebx + 0x18c]
mov ecx, dword [ebx + 0x12c]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x18c], ecx
mov edx, dword [ebx + 0x98]
cmove ecx, eax
push eax
push dword [ebx + 0x94]
add edx, ecx
jmp 0x4111ce
mov eax, dword [ebx + 0x18c]
mov ecx, dword [ebx + 0x12c]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x18c], ecx
mov edx, dword [ebx + 0x98]
cmove ecx, eax
push eax
push dword [ebx + 0x94]
sub edx, ecx
jmp 0x4111ce
test dword [ebx], 0x2000
je 0x412a49
mov eax, dword [ebx + 0x18c]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x18c], ecx
push eax
cmove ecx, eax
mov eax, dword [ebx + 0x94]
add eax, ecx
xor edx, edx
jmp 0x4111cd
test dword [ebx], 0x2000
je 0x412a49
mov eax, dword [ebx + 0x18c]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x18c], ecx
push eax
cmove ecx, eax
mov eax, dword [ebx + 0x94]
sub eax, ecx
xor edx, edx
jmp 0x4111cd
test dword [ebx], 0x2000
je 0x412a49
mov eax, dword [ebx + 0x18c]
mov edx, dword [ebx + 0x12c]
cmp eax, edx
push 0
cmovbe edx, eax
mov eax, 1
test edx, edx
mov dword [ebx + 0x18c], edx
push dword [ebx + 0x94]
cmove edx, eax
dec edx
jmp 0x4111ce
test dword [ebx], 0x2000
je 0x412a49
mov eax, dword [ebx + 0x18c]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x18c], ecx
mov al, byte [ebx + 0xac]
mov byte [esp + 0x1f], al
test al, al
je 0x4113e5
mov edx, dword [ebx + 0xa4]
jmp 0x4113e7
xor edx, edx
test ecx, ecx
mov eax, 1
mov esi, 2
cmove ecx, eax
xor eax, eax
cmp byte [esp + 0x1f], al
cmovne eax, esi
push eax
lea eax, [edx - 1]
add eax, ecx
jmp 0x4111c7
cmp dword [ebx + 0x20c], 2
jge 0x411417
xor esi, esi
jmp 0x41141d
mov esi, dword [ebx + 0x190]
mov eax, dword [ebx + 0x18c]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x18c], ecx
mov edx, dword [ebx + 0x12c]
cmp esi, edx
cmovbe edx, esi
mov dword [ebx + 0x190], edx
mov al, byte [ebx + 0xac]
mov byte [esp + 0x1f], al
test al, al
je 0x41145b
mov esi, dword [ebx + 0xa4]
jmp 0x41145d
xor esi, esi
test ecx, ecx
mov eax, 1
mov edi, 2
cmove ecx, eax
test edx, edx
cmove edx, eax
xor eax, eax
cmp byte [esp + 0x1f], al
cmovne eax, edi
push eax
lea eax, [esi - 1]
add eax, ecx
dec edx
jmp 0x4111cd
mov eax, dword [ebx + 0x18c]
cmp eax, 3
jne 0x4114a3
cmp byte [ebx + 0x10fe], 0
jne 0x4114c9
mov ecx, ebx
call fcn.0040d130
jmp 0x4114c9
inc eax
xor ecx, ecx
cmp eax, 3
cmovbe ecx, eax
xor dl, dl
mov al, cl
shr ecx, 1
and al, 1
and cl, 1
movzx eax, al
push eax
movzx eax, cl
mov ecx, ebx
push eax
call fcn.0040e990
add esp, 8
cmp byte [ebx + 0x1109], 0
je 0x4111d8
mov ecx, ebx
mov dword [ebx + 0x10], 0
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
mov eax, dword [ebx + 0x18c]
xor ecx, ecx
inc eax
mov dl, 1
cmp eax, 3
cmovbe ecx, eax
mov al, cl
shr ecx, 1
and al, 1
and cl, 1
movzx eax, al
push eax
movzx eax, cl
mov ecx, ebx
push eax
call fcn.0040e990
jmp 0x4111d5
test byte [ebx], 8
je 0x412a49
mov eax, dword [ebx + 0x18c]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x18c], ecx
mov edx, dword [ebx + 0x94]
mov eax, dword [ebx + 0xa8]
cmp edx, eax
jg 0x4111d8
test ecx, ecx
mov esi, 1
push 0
cmove ecx, esi
neg ecx
push ecx
push eax
mov ecx, ebx
call fcn.0040e4b0
add esp, 0xc
mov ecx, ebx
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test byte [ebx], 8
je 0x412a49
mov eax, dword [ebx + 0x18c]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x18c], ecx
mov edx, dword [ebx + 0x94]
mov eax, dword [ebx + 0xa8]
cmp edx, eax
jg 0x4111d8
test ecx, ecx
mov esi, 1
push esi
cmove ecx, esi
push ecx
push eax
mov ecx, ebx
call fcn.0040e4b0
add esp, 0xc
mov ecx, ebx
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test byte [ebx], 8
je 0x412a49
mov eax, dword [ebx + 0x18c]
mov ecx, ebx
mov edx, dword [ebx + 0x12c]
cmp eax, edx
cmovbe edx, eax
mov eax, 1
test edx, edx
mov dword [ebx + 0x18c], edx
cmove edx, eax
call fcn.0040eb70
mov ecx, ebx
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test byte [ebx], 8
je 0x412a49
mov eax, dword [ebx + 0x18c]
mov ecx, ebx
mov edx, dword [ebx + 0x12c]
cmp eax, edx
cmovbe edx, eax
mov eax, 1
test edx, edx
mov dword [ebx + 0x18c], edx
cmove edx, eax
neg edx
call fcn.0040eb70
mov ecx, ebx
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test byte [ebx], 2
je 0x412a49
mov ecx, dword [ebx + 0x1060]
test ecx, ecx
je case.default.0x412652
lea edx, [ebx + 0xa1e]
mov esi, edx
lea edi, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x411684
sub esi, edi
push 0
push esi
call fcn.0041e640
mov esi, dword [0x4c78a0]
add esp, 8
jmp case.0x410f93.10545
mov ecx, dword [ebx + 0x1060]
test ecx, ecx
je case.default.0x412652
mov eax, dword [ebx + 0x18c]
cmp eax, 6
jne 0x41170e
mov eax, dword [ebx + 0x98]
inc eax
push eax
mov eax, dword [ebx + 0x94]
inc eax
push eax
lea eax, [esp + 0x50]
push str.e__d__dR
push eax
call fcn.00401050
lea ecx, [esp + 0x58]
add esp, 0x10
lea edx, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4116e5
sub ecx, edx
lea edx, [esp + 0x48]
push 0
push ecx
mov ecx, dword [ebx + 0x1060]
call fcn.0041e640
mov esi, dword [0x4c78a0]
add esp, 8
jmp case.0x410f93.10545
cmp eax, 5
jne case.default.0x412652
push 0
push 4
mov edx, str.e_0n
call fcn.0041e640
mov esi, dword [0x4c78a0]
add esp, 8
jmp case.0x410f93.10545
test byte [ebx], 2
je 0x412a49
cmp dword [ebx + 0x20c], 1
jne case.default.0x412652
mov eax, dword [ebx + 0x18c]
test eax, eax
jne 0x41176e
mov ecx, dword [ebx + 0xe20]
mov eax, dword [ebx + 0x98]
mov esi, dword [0x4c78a0]
mov byte [ecx + eax], 0
jmp case.0x410f93.10545
cmp eax, 3
jne case.default.0x412652
xor ecx, ecx
cmp dword [ebx + 0x12c], ecx
jle case.default.0x412652
mov eax, dword [ebx + 0xe20]
mov byte [ecx + eax], 0
inc ecx
cmp ecx, dword [ebx + 0x12c]
jl 0x411785
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test byte [ebx], 2
je 0x412a49
mov edi, dword [ebx + 0x20c]
cmp edi, 2
jg case.default.0x412652
mov edx, dword [ebx + 0x128]
mov ecx, edx
mov eax, dword [ebx + 0x18c]
mov esi, edx
cmp eax, edx
cmovbe ecx, eax
mov eax, dword [ebx + 0x190]
cmp eax, edx
mov dword [ebx + 0x18c], ecx
cmovbe esi, eax
test ecx, ecx
mov eax, 1
mov dword [ebx + 0x190], esi
cmove ecx, eax
dec ecx
cmp edi, eax
jle 0x4117fa
test esi, esi
jne 0x4117fc
mov esi, edx
lea eax, [esi - 1]
cmp eax, edx
cmovl edx, esi
dec edx
mov eax, edx
sub eax, ecx
test eax, eax
jle case.default.0x412652
xor eax, eax
mov dword [ebx + 0xa4], ecx
cmp byte [ebx + 0xac], al
mov dword [ebx + 0xa8], edx
cmovne eax, ecx
mov dword [ebx + 0x98], 0
mov ecx, ebx
mov dword [ebx + 0x94], eax
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
mov ecx, dword [ebx + 0x20c]
mov esi, dword [0x4c78a0]
mov dword [esp + 0x18], 0
test ecx, ecx
jle 0x412ff7
lea edx, [ebx + 0x190]
mov dword [esp + 0xc], 0x194
mov eax, dword [esp + 0xc]
lea edi, [ebx + 0x18c]
mov dword [esp + 0x14], edx
cmp dword [edi], 0x6b
ja case.default.0x411894
mov eax, dword [edi]
movzx eax, byte [eax + 0x413328]
jmp dword [eax*4 + 0x4132c0]
mov eax, dword [ebx + 0x3c]
mov ecx, dword [ebx + 0x64]
mov dword [ebx + 0x40], eax
mov eax, dword [ebx + 0x60]
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], ecx
jmp case.0x411894.3
test byte [ebx], 4
mov eax, dword [esp + 0xc]
jne 0x4118ca
mov dword [ebx + 0xe24], 0
jmp case.default.0x411894
or dword [ebx + 0x40], 0x40000
jmp case.default.0x411894
test dword [ebx], 0x4000
mov eax, dword [esp + 0xc]
jne 0x4118f1
mov dword [ebx + 0xe24], 0
jmp case.default.0x411894
or dword [ebx + 0x40], 0x1000000
jmp case.default.0x411894
test dword [ebx], 0x4000
je 0x411c96
test byte [ebx], 4
mov eax, dword [esp + 0xc]
jne 0x411921
mov dword [ebx + 0xe24], 0
jmp case.default.0x411894
or dword [ebx + 0x40], 0x80000
jmp case.default.0x411894
test byte [ebx], 4
mov eax, dword [esp + 0xc]
jne 0x411945
mov dword [ebx + 0xe24], 0
jmp case.default.0x411894
or dword [ebx + 0x40], 0x200000
jmp case.default.0x411894
test dword [ebx], 0x1000
je 0x411c96
or dword [ebx + 0x40], 0x200000
mov ecx, ebx
mov byte [ebx + 0xc9], 0
call fcn.0040c0a0
mov esi, dword [0x4c78a0]
mov edx, dword [esp + 0x14]
jmp case.0x411894.3
or dword [ebx + 0x40], 0x100000
jmp case.0x411894.3
or dword [ebx + 0x40], 0x2000000
jmp case.0x411894.3
test dword [ebx], 0x1000
je 0x411c96
cmp byte [ebx + 0x10fb], 0
mov eax, dword [esp + 0xc]
jne case.default.0x411894
mov dword [ebx + 0xcc], 0
jmp case.default.0x411894
test dword [ebx], 0x1000
je 0x411c96
cmp byte [ebx + 0x10fb], 0
mov eax, dword [esp + 0xc]
jne case.default.0x411894
mov dword [ebx + 0xcc], 1
jmp case.default.0x411894
test dword [ebx], 0x1000
je 0x411c96
cmp byte [ebx + 0x10fb], 0
jne case.0x411894.3
mov dword [ebx + 0xcc], 2
jmp case.0x411894.3
test dword [ebx], 0x4010
mov eax, dword [esp + 0xc]
jne 0x411a34
mov dword [ebx + 0xe24], 0
jmp case.default.0x411894
and dword [ebx + 0x40], 0xfefbffff
jmp case.default.0x411894
test dword [ebx], 0x4010
mov eax, dword [esp + 0xc]
jne 0x411a5b
mov dword [ebx + 0xe24], 0
jmp case.default.0x411894
and dword [ebx + 0x40], 0xfff7ffff
jmp case.default.0x411894
test dword [ebx], 0x4010
mov eax, dword [esp + 0xc]
jne 0x411a82
mov dword [ebx + 0xe24], 0
jmp case.default.0x411894
and dword [ebx + 0x40], 0xffdfffff
jmp case.default.0x411894
test dword [ebx], 0x4010
mov eax, dword [esp + 0xc]
jne 0x411aa9
mov dword [ebx + 0xe24], 0
jmp case.default.0x411894
and dword [ebx + 0x40], 0xffefffff
jmp case.default.0x411894
and dword [ebx + 0x40], 0xfdffffff
jmp case.0x411894.3
mov ecx, dword [ebx + 0x40]
and ecx, 0xfffffe00
mov byte [ebx + 0x48], 0
mov dword [ebx + 0x40], ecx
mov eax, dword [edi]
sub eax, 0x1e
or eax, ecx
mov dword [ebx + 0x40], eax
jmp case.0x411894.3
mov ecx, dword [ebx + 0x40]
and ecx, 0xfffffe00
mov byte [ebx + 0x48], 0
mov dword [ebx + 0x40], ecx
mov eax, dword [edi]
sub eax, 0x52
or eax, ecx
mov dword [ebx + 0x40], eax
jmp case.0x411894.3
mov eax, dword [ebx + 0x40]
and eax, 0xffffff00
mov byte [ebx + 0x48], 0
or eax, 0x100
mov dword [ebx + 0x40], eax
jmp case.0x411894.3
mov ecx, dword [ebx + 0x40]
and ecx, 0xfffc01ff
mov byte [ebx + 0x4c], 0
mov dword [ebx + 0x40], ecx
mov eax, dword [edi]
sub eax, 0x28
shl eax, 9
or eax, ecx
mov dword [ebx + 0x40], eax
jmp case.0x411894.3
mov ecx, dword [ebx + 0x40]
and ecx, 0xfffc01ff
mov byte [ebx + 0x4c], 0
mov dword [ebx + 0x40], ecx
mov eax, dword [edi]
sub eax, 0x5c
shl eax, 9
or eax, ecx
mov dword [ebx + 0x40], eax
jmp case.0x411894.3
mov eax, dword [ebx + 0x40]
and eax, 0xfffe05ff
mov byte [ebx + 0x4c], 0
or eax, 0x20400
mov dword [ebx + 0x40], eax
jmp case.0x411894.3
mov eax, dword [esp + 0x18]
add eax, 2
mov dword [esp + 0x30], eax
cmp eax, ecx
mov eax, dword [esp + 0xc]
jge 0x411bc8
cmp dword [edx], 5
jne 0x411bc8
mov ecx, dword [ebx + 0x40]
add edx, 8
and ecx, 0xfffffe00
mov dword [esp + 0x14], edx
mov dword [ebx + 0x40], ecx
add edi, 8
movzx eax, byte [ebx + eax]
or eax, ecx
mov dword [ebx + 0x48], esi
mov ecx, dword [ebx + 0x20c]
mov dword [ebx + 0x40], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
add eax, 8
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x18]
add ebx, 4
mov dword [esp + 0x30], ebx
cmp ebx, ecx
mov ebx, dword [esp + 0x3c]
jge case.0x411894.3
cmp dword [edx], 2
jne case.0x411894.3
lea edx, [ebx + eax]
lea ecx, [ebx + 0x48]
call fcn.00413680
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x14]
add edi, 0x10
mov dword [esp + 0x18], eax
add edx, 0x10
mov eax, dword [esp + 0xc]
add eax, 0x10
jmp case.default.0x411894
mov eax, dword [esp + 0x18]
add eax, 2
mov dword [esp + 0x30], eax
cmp eax, ecx
mov eax, dword [esp + 0xc]
jge 0x411c67
cmp dword [edx], 5
jne 0x411c67
mov ecx, dword [ebx + 0x40]
add edx, 8
and ecx, 0xfffc01ff
mov dword [esp + 0x14], edx
mov dword [ebx + 0x40], ecx
add edi, 8
movzx eax, byte [ebx + eax]
shl eax, 9
or eax, ecx
mov dword [ebx + 0x4c], esi
mov ecx, dword [ebx + 0x20c]
mov dword [ebx + 0x40], eax
mov eax, dword [esp + 0x30]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xc]
add eax, 8
mov dword [esp + 0xc], eax
mov ebx, dword [esp + 0x18]
add ebx, 4
mov dword [esp + 0x30], ebx
cmp ebx, ecx
mov ebx, dword [esp + 0x3c]
jge case.default.0x411894
cmp dword [edx], 2
jne case.default.0x411894
mov edx, dword [esp + 0xc]
lea ecx, [ebx + 0x4c]
add edx, ebx
call fcn.00413680
mov eax, dword [esp + 0x30]
jmp 0x411bf7
mov dword [ebx + 0xe24], 0
mov eax, dword [esp + 0xc]
inc dword [esp + 0x18]
add edx, 4
mov ecx, dword [ebx + 0x20c]
add eax, 4
add edi, 4
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], eax
cmp dword [esp + 0x18], ecx
jl 0x411882
jmp 0x412ff7
mov ecx, dword [ebx + 0x20c]
cmp ecx, 1
jg 0x411d2b
mov eax, dword [ebx + 0x18c]
cmp eax, 1
jb 0x411ce9
cmp eax, 0x18
jb 0x411d22
test dword [ebx], 0x100
je 0x412a49
cmp byte [ebx + 0x10fc], 0
jne 0x411d10
push 0x18
mov edx, dword [ebx + 0x12c]
mov ecx, ebx
call fcn.0040eea0
add esp, 4
mov ecx, ebx
call fcn.00416f10
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
cmp ecx, 1
jl case.default.0x412652
mov eax, dword [ebx + 0x18c]
dec eax
cmp eax, 0x16
ja case.default.0x412652
test dword [ebx], 0x4000
je 0x412a49
cmp eax, 0x14
ja case.default.0x412652
jmp dword [eax*4 + 0x413394]
mov ecx, ebx
mov word [ebx + 0x20c6], 1
call fcn.0040c040
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
mov ecx, ebx
mov word [ebx + 0x20c6], 0x101
call fcn.0040c040
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
cmp ecx, 3
jl case.default.0x412652
cmp byte [ebx + 0x10fc], 0
jne case.default.0x412652
mov byte [ebx + 0x20b8], 1
mov ecx, ebx
mov eax, dword [ebx + 0x190]
mov dword [ebx + 0x20bc], eax
mov eax, dword [ebx + 0x194]
mov dword [ebx + 0x20c0], eax
call fcn.0040c040
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
mov ecx, ebx
mov word [ebx + 0x20c4], 0x101
call fcn.0040c040
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
mov ecx, ebx
mov word [ebx + 0x20c4], 1
call fcn.0040c040
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
mov ecx, ebx
mov byte [ebx + 0x20ce], 1
call fcn.0040c040
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
cmp ecx, 3
jl case.default.0x412652
cmp byte [ebx + 0x10fc], 0
jne case.default.0x412652
mov eax, dword [ebx + 0x190]
test eax, eax
jne 0x411e49
mov eax, dword [ebx + 0x10d8]
mov edx, dword [ebx + 0x194]
test edx, edx
jne 0x411e59
mov edx, dword [ebx + 0x10dc]
push eax
mov ecx, ebx
call fcn.0040eea0
mov esi, dword [0x4c78a0]
add esp, 4
jmp case.0x410f93.10545
cmp ecx, 2
jl case.default.0x412652
mov byte [ebx + 0x20c8], 1
mov ecx, ebx
cmp dword [ebx + 0x190], 0
setne al
mov byte [ebx + 0x20c9], al
call fcn.0040c040
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
mov ecx, dword [ebx + 0x1060]
test ecx, ecx
je case.default.0x412652
cmp byte [ebx + 0x1144], 0
mov eax, str.e_1t
push 0
mov edx, str.e_2t
push 4
cmove edx, eax
call fcn.0041e640
mov esi, dword [0x4c78a0]
add esp, 8
jmp case.0x410f93.10545
cmp dword [ebx + 0x1060], 0
je case.default.0x412652
push dword [ebx + 0x20ac]
push dword [ebx + 0x20a8]
push str.e_3__u__ut
jmp 0x411f38
cmp dword [ebx + 0x1060], 0
je case.default.0x412652
push dword [ebx + 0x20b0]
push dword [ebx + 0x20b4]
push str.e_4__u__ut
jmp 0x411f38
cmp dword [ebx + 0x1060], 0
je case.default.0x412652
push dword [ebx + 0x12c]
push dword [ebx + 0x128]
push str.e_8__d__dt
lea eax, [esp + 0x54]
push eax
call fcn.00401050
mov ecx, dword [ebx + 0x1060]
lea edx, [esp + 0x58]
push 0
push eax
call fcn.0041e640
mov esi, dword [0x4c78a0]
add esp, 0x18
jmp case.0x410f93.10545
mov ecx, dword [ebx + 0x1060]
test ecx, ecx
je case.default.0x412652
mov eax, dword [ebx + 0x1104]
test eax, eax
je case.default.0x412652
cmp eax, 2
jne 0x411f8b
mov edi, dword [ebx + 0x1138]
jmp 0x411f90
mov edi, 0x4c6fd0
mov esi, edi
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x411f95
sub esi, edx
mov edx, 0x4d754c
push 0
push 3
call fcn.0041e640
mov ecx, dword [ebx + 0x1060]
mov edx, edi
push 0
push esi
call fcn.0041e640
mov ecx, dword [ebx + 0x1060]
mov edx, 0x4d7550
push 0
push 2
call fcn.0041e640
mov esi, dword [0x4c78a0]
add esp, 0x18
jmp case.0x410f93.10545
mov ecx, dword [ebx + 0x1060]
test ecx, ecx
je case.default.0x412652
mov eax, dword [ebx + 0x1104]
test eax, eax
je case.default.0x412652
cmp eax, 2
jne 0x412007
mov edi, dword [ebx + 0x1134]
jmp 0x41200c
mov edi, 0x4c6fd0
mov esi, edi
lea edx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x412011
sub esi, edx
mov edx, 0x4d7554
jmp 0x411fa3
mov eax, dword [ebx + 0x18c]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x18c], ecx
test dword [ebx], 0x1000
je 0x412a49
mov edx, dword [ebx + 0xa4]
test ecx, ecx
mov eax, 1
cmove ecx, eax
push eax
push ecx
push dword [ebx + 0xa8]
mov ecx, ebx
call fcn.0040e4b0
mov esi, dword [0x4c78a0]
add esp, 0xc
mov byte [ebx + 0xae], 0
jmp case.0x410f93.10545
mov eax, dword [ebx + 0x18c]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x18c], ecx
test dword [ebx], 0x1000
je 0x412a49
mov edx, dword [ebx + 0xa4]
test ecx, ecx
mov eax, 1
cmove ecx, eax
push eax
neg ecx
push ecx
push dword [ebx + 0xa8]
mov ecx, ebx
call fcn.0040e4b0
mov esi, dword [0x4c78a0]
add esp, 0xc
mov byte [ebx + 0xae], 0
jmp case.0x410f93.10545
test byte [ebx], 1
je 0x412a49
mov eax, dword [ebx + 0x18c]
mov esi, dword [ebx + 0x12c]
cmp eax, esi
push 1
cmovbe esi, eax
mov eax, 1
mov dword [ebx + 0x18c], esi
test esi, esi
push 0x13c8
push dword [ebx + 0x94]
cmove esi, eax
mov eax, dword [ebx + 0x98]
push ebx
mov dword [esp + 0x40], eax
call fcn.0040bdf0
mov edx, eax
mov dword [esp + 0x28], eax
mov ecx, ebx
call fcn.0040e480
mov eax, dword [ebx + 0x12c]
mov ecx, ebx
sub eax, dword [ebx + 0x98]
mov edx, dword [ebx + 0x98]
cmp esi, eax
mov edi, dword [ebx + 0x94]
cmovle eax, esi
push edi
mov dword [esp + 0x28], eax
lea esi, [edx + eax]
call fcn.0040e8f0
mov edx, dword [ebx + 0x98]
add esp, 0x14
add edx, dword [esp + 0x14]
mov ecx, ebx
push dword [ebx + 0x94]
call fcn.0040e8f0
add esp, 4
mov ecx, ebx
push esi
push edi
push dword [ebx + 0x98]
push dword [ebx + 0x94]
call fcn.0040e3e0
mov esi, dword [esp + 0x24]
add esp, 0x10
test esi, esi
je 0x4111d8
mov edi, dword [esp + 0x30]
lea eax, [ebx + 0x6c]
mov dword [esp + 0x14], eax
mov ebx, eax
nop
mov ecx, dword [esp + 0x18]
mov edx, edi
push ebx
call fcn.0040af00
add esp, 4
inc edi
sub esi, 1
jne 0x4121a0
mov ebx, dword [esp + 0x3c]
mov ecx, ebx
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test byte [ebx], 2
je 0x412a49
mov esi, dword [ebx + 0x1060]
test esi, esi
je case.default.0x412652
mov ecx, dword [ebx + 0x18c]
test ecx, ecx
je 0x4121f5
cmp ecx, 1
jne case.default.0x412652
movups xmm0, xmmword [0x4d755b]
mov eax, 0x5b1b
lea edx, [esp + 0x48]
add cl, 0x32
mov word [esp + 0x48], ax
mov ax, word [0x4d756b]
mov byte [esp + 0x4a], cl
mov ecx, esi
push 0
push 0x14
movups xmmword [esp + 0x53], xmm0
mov word [esp + 0x63], ax
call fcn.0041e640
mov esi, dword [0x4c78a0]
add esp, 8
jmp case.0x410f93.10545
test dword [ebx], 0x4000
je 0x412a49
mov eax, dword [ebx + 0x18c]
mov esi, dword [ebx + 0x12c]
cmp eax, esi
cmovbe esi, eax
mov dword [ebx + 0x18c], esi
mov edi, dword [ebx + 0x94]
mov edx, dword [ebx + 0x98]
test esi, esi
jne 0x41227c
mov esi, 1
mov dword [esp + 0x30], edi
mov dword [esp + 0x14], edx
jmp 0x412286
mov eax, edx
mov dword [esp + 0x14], eax
test esi, esi
jle 0x4122b2
test edx, edx
jle 0x4122ae
mov ecx, edx
nop dword [eax]
dec ecx
mov dword [ebx + 0x98], ecx
mov edx, ecx
test ecx, ecx
jle 0x4122a9
mov eax, dword [ebx + 0xe20]
cmp byte [ecx + eax], 0
je 0x412290
dec esi
test esi, esi
jg 0x412286
mov eax, dword [esp + 0x14]
push dword [ebx + 0x98]
mov ecx, ebx
push dword [ebx + 0x94]
push eax
push edi
call fcn.0040e3e0
mov esi, dword [0x4c78a0]
add esp, 0x10
jmp case.0x410f93.10545
test byte [ebx], 2
je 0x412a49
xor edi, edi
cmp dword [ebx + 0x20c], edi
jle case.default.0x412652
lea esi, [ebx + 0x18c]
mov edx, dword [esi]
mov ecx, ebx
push 1
push dword [ebx + 0x210]
call fcn.0040eee0
inc edi
lea esi, [esi + 4]
add esp, 8
cmp edi, dword [ebx + 0x20c]
jl 0x4122f2
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
cmp eax, 0x3d43
ja 0x412633
je 0x4125fa
cmp eax, 0x2270
ja 0x412570
je 0x412430
sub eax, 0x169
je case.0x411195.105
sub eax, 3
jne case.default.0x412652
test byte [ebx], 2
je 0x412a49
xor edi, edi
cmp dword [ebx + 0x20c], edi
jle case.default.0x412652
lea esi, [ebx + 0x18c]
nop dword [eax]
mov edx, dword [esi]
mov ecx, ebx
push 0
push dword [ebx + 0x210]
call fcn.0040eee0
inc edi
lea esi, [esi + 4]
add esp, 8
cmp edi, dword [ebx + 0x20c]
jl 0x412370
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test byte [ebx], 2
je 0x412a49
cmp dword [ebx + 0x20c], 1
jne case.default.0x412652
cmp dword [ebx + 0x18c], 5
jne 0x412404
mov ecx, dword [ebx + 0x1074]
mov edx, 0x8f
call fcn.0048da50
cmp byte [eax], 0
je 0x412404
cmp dword [ebx + 0x210], 0
mov edx, eax
mov byte [ebx + 0xe4], 1
sete cl
mov dword [ebx + 0xe8], 0
mov byte [ebx + 0xe5], cl
mov ecx, ebx
call fcn.0040f550
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
cmp dword [ebx + 0x18c], 4
jne case.default.0x412652
cmp byte [ebx + 0xe4], 0
je case.default.0x412652
mov ecx, ebx
call fcn.0040f5f0
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
mov ecx, dword [ebx + 0x18c]
cmp ecx, 0x3e
ja case.0x412442.1
movzx eax, byte [ecx + 0x413404]
jmp dword [eax*4 + 0x4133e8]
mov eax, dword [ebx]
and eax, 0xfffffe0f
or eax, 0xf
mov dword [ebx], eax
jmp case.0x412442.50
mov eax, dword [ebx]
and eax, 0xfffffe1f
or eax, 0x1f
mov dword [ebx], eax
jmp case.0x412442.50
and dword [ebx], 0x1ff
jmp case.0x412442.50
mov dword [ebx], 0x1001
jmp case.0x412442.50
mov dword [ebx], 0xffff
jmp case.0x412442.50
cmp ecx, 0x3c
jbe case.0x412442.50
cmp ecx, 0x46
jae case.0x412442.50
or dword [ebx], 0x1ff
cmp ecx, 0x32
jne case.default.0x412652
mov eax, 1
mov dword [ebx + 0xa1e], 0x3f5b1b
lea edi, [ebx + 0xa1e]
mov dword [esp + 0x14], eax
cmp dword [ebx + 0x20c], eax
jle 0x41254c
lea ecx, [ebx + 0x190]
mov dword [esp + 0x18], ecx
cmp eax, 1
je 0x4124e9
dec edi
nop dword [eax + eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x4124d0
mov ax, word [0x4d7570]
mov word [edi], ax
lea edi, [ebx + 0xa1e]
push dword [ecx]
lea eax, [esp + 0x4c]
push 0x4d7574
push eax
call fcn.00401050
lea edx, [esp + 0x54]
add esp, 0xc
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x412503
sub edx, esi
dec edi
nop dword [eax]
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x412510
mov eax, dword [esp + 0x14]
mov ecx, edx
shr ecx, 2
inc eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [esp + 0x14], eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [esp + 0x18]
lea edi, [ebx + 0xa1e]
add ecx, 4
mov dword [esp + 0x18], ecx
cmp eax, dword [ebx + 0x20c]
jl 0x4124c5
lea edi, [ebx + 0xa1d]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x412552
mov ax, word [0x4d7578]
mov esi, dword [0x4c78a0]
mov word [edi], ax
jmp case.0x410f93.10545
cmp eax, 0x247c
je 0x4125b9
cmp eax, 0x2a7c
jne case.default.0x412652
test byte [ebx], 0x40
je 0x412a49
cmp dword [ebx + 0x20c], 1
jne case.default.0x412652
mov eax, dword [ebx + 0x18c]
test eax, eax
je case.default.0x412652
cmp byte [ebx + 0x10fc], 0
jne 0x411d10
push eax
jmp 0x411d00
test dword [ebx], 0x100
je 0x412a49
cmp dword [ebx + 0x20c], 1
jg case.default.0x412652
cmp byte [ebx + 0x10fc], 0
jne 0x411d10
mov edx, dword [ebx + 0x18c]
test edx, edx
jne 0x4125ef
mov edx, dword [ebx + 0x10dc]
push dword [ebx + 0x128]
jmp 0x411d06
test dword [ebx], 0x1000
je 0x412a49
cmp dword [ebx + 0x20c], 2
jl case.default.0x412652
mov eax, dword [ebx + 0x18c]
cmp eax, dword [ebx + 0x190]
mov esi, dword [0x4c78a0]
setbe al
mov byte [ebx + 0xc4], al
jmp case.0x410f93.10545
cmp eax, 0x3d4c
ja 0x4127a1
je 0x412773
sub eax, 0x3d44
cmp eax, 3
ja case.default.0x412652
jmp dword [eax*4 + 0x413444]
test dword [ebx], 0x1000
je 0x412a49
mov ecx, ebx
mov byte [ebx + 0xc9], 0
call fcn.0040c0a0
cmp dword [ebx + 0x18c], 1
mov esi, dword [0x4c78a0]
jb 0x41268e
or dword [ebx + 0x40], 0x200000
jmp case.0x410f93.10545
and dword [ebx + 0x40], 0xffdfffff
jmp case.0x410f93.10545
test dword [ebx], 0x1000
je 0x412a49
cmp dword [ebx + 0x18c], 1
mov ecx, ebx
setae al
mov byte [ebx + 0xc9], al
call fcn.0040c0a0
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
test dword [ebx], 0x1000
je 0x412a49
mov edx, dword [ebx + 0x18c]
cmp edx, 0x10
jae case.default.0x412652
mov esi, dword [0x4c78a0]
mov eax, edx
and eax, 7
mov dword [ebx + 0x48], esi
and edx, 8
movsx ecx, byte [eax + 0x4c7ba8]
mov eax, dword [ebx + 0x40]
or ecx, edx
and eax, 0xfffffe00
or eax, ecx
mov dword [ebx + 0x40], eax
mov eax, dword [ebx + 0x3c]
and eax, 0xfffffe00
or eax, ecx
mov dword [ebx + 0x3c], eax
jmp 0x412ff7
test dword [ebx], 0x1000
je 0x412a49
mov edx, dword [ebx + 0x18c]
cmp edx, 0x10
jae case.default.0x412652
mov esi, dword [0x4c78a0]
mov eax, edx
and eax, 7
mov dword [ebx + 0x4c], esi
and edx, 8
movsx ecx, byte [eax + 0x4c7ba8]
mov eax, dword [ebx + 0x40]
or ecx, edx
and eax, 0xfffc01ff
shl ecx, 9
or eax, ecx
mov dword [ebx + 0x40], eax
mov eax, dword [ebx + 0x3c]
and eax, 0xfffc01ff
or eax, ecx
mov dword [ebx + 0x3c], eax
jmp 0x412ff7
test dword [ebx], 0x1000
je 0x412a49
cmp dword [ebx + 0x18c], 0
mov ecx, ebx
setbe al
mov byte [ebx + 0xc6], al
call fcn.0040c860
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
cmp eax, 0x3d63
je 0x4127e9
cmp eax, 0x3e63
jne case.default.0x412652
test dword [ebx], 0x4000
je 0x412a49
mov ecx, dword [ebx + 0x1060]
test ecx, ecx
je case.default.0x412652
push 0
push 0xb
mov edx, str.e__0_136_0c
call fcn.0041e640
mov esi, dword [0x4c78a0]
add esp, 8
jmp case.0x410f93.10545
test dword [ebx], 0x1000
je 0x412a49
mov eax, dword [ebx + 0x18c]
sub eax, 0
je 0x412840
sub eax, 1
je 0x412827
sub eax, 1
jne case.default.0x412652
mov esi, dword [0x4c78a0]
mov byte [ebx + 0x142], 1
mov byte [ebx + 0xc4], 1
jmp case.0x410f93.10545
mov esi, dword [0x4c78a0]
mov byte [ebx + 0x142], 0
mov byte [ebx + 0xc4], 1
jmp case.0x410f93.10545
mov esi, dword [0x4c78a0]
mov byte [ebx + 0xc4], 0
jmp case.0x410f93.10545
lea eax, [ecx - 0x30]
mov byte [ebx + 0xa1d], 0
cmp eax, 0x92
ja case.0x41286e.58
movzx eax, byte [eax + 0x413470]
jmp dword [eax*4 + 0x413454]
mov dword [ebx + 0xe24], 6
mov dword [ebx + 0x218], 0
jmp case.0x410f93.10545
xor dl, dl
mov ecx, ebx
call fcn.0040d3b0
mov ecx, ebx
call fcn.00414da0
jmp 0x412a49
mov dword [ebx + 0xe24], 4
mov byte [ebx + 0xa1d], 1
jmp case.0x410f93.10545
mov eax, dword [ebx + 0x20c]
lea edi, [eax*4 + 0x188]
mov eax, dword [ebx + edi]
cmp eax, 0x19999999
ja 0x4128ef
lea edx, [eax + eax*4]
mov eax, 0xffffffcf
add edx, edx
sub eax, ecx
cmp edx, eax
ja 0x4128ef
lea eax, [ecx - 0x30]
mov ecx, ebx
add eax, edx
mov dword [edi + ecx], eax
jmp case.0x410f93.10545
mov ecx, ebx
or eax, 0xffffffff
mov dword [edi + ecx], eax
jmp case.0x410f93.10545
cmp byte [ebx + 0xd5], 0
jne 0x412a2b
mov eax, dword [ebx + 0x106c]
cmp dword [eax + 8], 0xfde9
jne case.0x410f93.10545
mov dword [ebx + 0xe24], 9
jmp case.0x410f93.10545
cmp ecx, 0x4c
jne 0x412948
cmp dword [ebx + 0x18c], 2
jne case.0x412ba5.58
mov dword [ebx + 0x18c], 1
jmp case.0x410f93.10545
cmp ecx, 0x3b
jne case.0x412ba5.58
mov eax, dword [ebx + 0x20c]
cmp eax, 1
jne case.0x412ba5.58
cmp dword [ebx + 0x18c], 4
jne case.0x412ba5.58
inc eax
mov dword [ebx + 0x190], 0
mov dword [ebx + 0x20c], eax
jmp case.0x410f93.10545
mov dword [ebx + 0xe24], 7
mov dword [ebx + 0x218], 0
jmp case.0x410f93.10545
cmp ecx, 0xa
je 0x41074d
cmp ecx, 0xd
je 0x41074d
cmp ecx, 0x1b
jne 0x4129b6
mov dword [ebx + 0xe24], 8
jmp case.0x410f93.10545
cmp ecx, 7
je case.0x41286e.156
cmp ecx, 0x9c
jne 0x412a0b
cmp byte [ebx + 0xd5], 0
jne 0x4129e8
mov eax, dword [ebx + 0x106c]
cmp dword [eax + 8], 0xfde9
je 0x4129e8
cmp byte [eax + 0xaa8], 0xff
jne case.0x41286e.156
mov eax, dword [ebx + 0x218]
cmp eax, 0x800
jge case.0x410f93.10545
mov byte [eax + ebx + 0x21c], cl
inc dword [ebx + 0x218]
jmp case.0x410f93.10545
cmp ecx, 0xc2
jne 0x4129e8
cmp byte [ebx + 0xd5], 0
jne 0x412a2b
mov eax, dword [ebx + 0x106c]
cmp dword [eax + 8], 0xfde9
jne 0x4129e8
mov dword [ebx + 0xe24], 9
jmp case.0x410f93.10545
cmp ecx, 0x9c
jne 0x412a5e
mov ecx, ebx
call fcn.0040f330
mov esi, dword [0x4c78a0]
mov dword [ebx + 0xe24], 0
jmp case.0x410f93.10545
mov eax, dword [ebx + 0x218]
cmp eax, 0x800
jge 0x412a93
mov byte [eax + ebx + 0x21c], 0xc2
inc dword [ebx + 0x218]
mov eax, dword [ebx + 0x218]
cmp eax, 0x800
jge 0x412a93
mov byte [eax + ebx + 0x21c], cl
inc dword [ebx + 0x218]
mov dword [ebx + 0xe24], 7
jmp case.0x410f93.10545
mov edx, dword [ebx + 0x218]
lea eax, [ecx - 0x30]
cmp eax, 9
jbe 0x412af0
cmp ecx, 0x41
jl 0x412acd
test edx, edx
mov eax, 0x46
mov edi, 0x4c
cmove eax, edi
cmp ecx, eax
jg 0x412acd
lea eax, [ecx - 0x37]
jmp 0x412af0
cmp ecx, 0x61
jl 0x41074d
test edx, edx
mov eax, 0x66
mov edi, 0x6c
cmove eax, edi
cmp ecx, eax
jg 0x41074d
lea eax, [ecx - 0x57]
mov byte [edx + ebx + 0x21c], al
inc dword [ebx + 0x218]
cmp dword [ebx + 0x218], 7
jl case.0x410f93.10545
movsx esi, byte [ebx + 0x21c]
cmp esi, 0x16
jb 0x412b2d
push 0x1543
push str.C:Usersomahr_source_reposputty_caccode_terminal_terminal.c
push 0x4d757c
call fcn.004a3dca
add esp, 0xc
mov edx, dword [esi*4 + 0x4c7af0]
movzx eax, byte [ebx + 0x21d]
shl al, 4
add al, byte [ebx + 0x21e]
lea ecx, [ebx + edx*2]
mov byte [ecx + edx + 0x197c], al
movzx eax, byte [ebx + 0x21f]
shl al, 4
add al, byte [ebx + 0x220]
mov byte [ecx + edx + 0x197d], al
movzx eax, byte [ebx + 0x221]
shl al, 4
add al, byte [ebx + 0x222]
mov byte [ecx + edx + 0x197e], al
mov ecx, ebx
mov byte [ebx + edx + 0x1c8e], 1
call fcn.0040d280
jmp 0x412a49
lea eax, [ecx - 0x30]
cmp eax, 0x92
ja case.0x412ba5.58
movzx eax, byte [eax + 0x413514]
jmp dword [eax*4 + 0x413504]
mov eax, dword [ebx + 0x18c]
cmp eax, 0x19999999
ja 0x412bd9
lea edx, [eax + eax*4]
mov eax, 0xffffffcf
add edx, edx
sub eax, ecx
cmp edx, eax
ja 0x412bd9
lea eax, [ecx - 0x30]
add eax, edx
mov dword [ebx + 0x18c], eax
jmp case.0x410f93.10545
or eax, 0xffffffff
mov dword [ebx + 0x18c], eax
jmp case.0x410f93.10545
add ecx, 0xffffffc4
mov dword [ebx + 0xe24], 0
cmp ecx, 0x3b
ja case.0x410f93.10545
movzx eax, byte [ecx + 0x413634]
jmp dword [eax*4 + 0x4135a8]
mov eax, dword [ebx + 0x94]
push 1
dec eax
jmp 0x412f88
mov eax, dword [ebx + 0x94]
push 1
inc eax
jmp 0x412f88
mov edx, dword [ebx + 0x98]
mov ecx, ebx
push 1
push dword [ebx + 0x94]
inc edx
call fcn.0040e720
mov esi, dword [0x4c78a0]
add esp, 8
jmp case.0x410f93.10545
mov edx, dword [ebx + 0x98]
mov ecx, ebx
push 1
push dword [ebx + 0x94]
dec edx
call fcn.0040e720
mov esi, dword [0x4c78a0]
add esp, 8
jmp case.0x410f93.10545
mov dword [ebx + 0xb0], 0
mov dword [ebx + 0x15c], 0xd900
jmp case.0x410f93.10545
mov dword [ebx + 0xb0], 0
mov dword [ebx + 0x15c], 0xd800
jmp case.0x410f93.10545
push 0
push 0
xor edx, edx
mov ecx, ebx
call fcn.0040e720
mov esi, dword [0x4c78a0]
add esp, 8
jmp case.0x410f93.10545
mov eax, dword [ebx + 0x94]
test eax, eax
jne 0x412cf0
mov eax, dword [ebx + 0x128]
xor edx, edx
push 1
dec eax
mov ecx, ebx
push 0xffffffffffffffff
push eax
call fcn.0040e4b0
mov esi, dword [0x4c78a0]
add esp, 0xc
mov byte [ebx + 0xae], 0
jmp case.0x410f93.10545
jle 0x412d06
dec eax
mov ecx, ebx
mov dword [ebx + 0x94], eax
call fcn.0040c060
mov esi, dword [0x4c78a0]
mov byte [ebx + 0xae], 0
jmp case.0x410f93.10545
push 1
push 0
xor dl, dl
mov ecx, ebx
call fcn.0040e990
add esp, 8
cmp byte [ebx + 0x1109], 0
je case.default.0x412652
mov esi, dword [0x4c78a0]
mov dword [ebx + 0x10], 0
jmp case.0x410f93.10545
push 1
push 0
mov dl, 1
mov ecx, ebx
call fcn.0040e990
mov esi, dword [0x4c78a0]
add esp, 8
jmp case.0x410f93.10545
mov dword [ebx + 0xe24], 0xb
jmp case.0x410f93.10545
mov ecx, dword [ebx + 0x1060]
test ecx, ecx
je case.0x410f93.10545
push 0
push 3
mov edx, 0x4d75b4
call fcn.0041e640
mov esi, dword [0x4c78a0]
add esp, 8
jmp case.0x410f93.10545
mov byte [ebx + 0x13e], 0
mov ecx, ebx
mov al, byte [ebx + 0x10d3]
mov byte [ebx + 0xc9], al
call fcn.0040c0a0
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
push 0
push 0
xor edx, edx
mov ecx, ebx
call fcn.0040e720
push 1
push 0
xor dl, dl
mov ecx, ebx
call fcn.0040e990
add esp, 0x10
cmp byte [ebx + 0x1109], 0
je case.default.0x412652
mov esi, dword [0x4c78a0]
mov dword [ebx + 0x10], 0
jmp case.0x410f93.10545
mov edx, dword [ebx + 0x94]
mov eax, dword [ebx + 0xa8]
cmp edx, eax
jg case.0x410f93.10545
push 0
push 0xffffffffffffffff
push eax
mov ecx, ebx
call fcn.0040e4b0
mov esi, dword [0x4c78a0]
add esp, 0xc
jmp case.0x410f93.10545
mov edx, dword [ebx + 0x94]
mov eax, dword [ebx + 0xa8]
cmp edx, eax
jg case.0x410f93.10545
push 1
push 1
push eax
mov ecx, ebx
call fcn.0040e4b0
mov esi, dword [0x4c78a0]
add esp, 0xc
jmp case.0x410f93.10545
mov dword [ebx + 0xe24], 0xd
jmp case.0x410f93.10545
mov dword [ebx + 0xe24], 0xe
jmp case.0x410f93.10545
push 0
push 1
jmp 0x412d16
mov ecx, ebx
mov byte [ebx + 0xc4], 1
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
mov ecx, ebx
mov byte [ebx + 0xc4], 0
call fcn.0040c060
mov esi, dword [0x4c78a0]
jmp case.0x410f93.10545
push 1
push 1
mov dl, 1
mov ecx, ebx
call fcn.0040e990
mov esi, dword [0x4c78a0]
add esp, 8
mov dword [ebx + 0x98], 0
mov byte [ebx + 0xae], 0
jmp case.0x410f93.10545
push 0
push 1
mov dl, 1
mov ecx, ebx
call fcn.0040e990
mov esi, dword [0x4c78a0]
add esp, 8
jmp case.0x410f93.10545
or dword [ebx + 0x40], 0x100000
jmp case.0x410f93.10545
and dword [ebx + 0x40], 0xffefffff
jmp case.0x410f93.10545
mov byte [ebx + 0xad], 1
jmp case.0x410f93.10545
mov byte [ebx + 0xad], 0
jmp case.0x410f93.10545
mov byte [ebx + 0xd4], 0
mov dword [ebx + 0x40], 0x20500
mov dword [ebx + 0x48], esi
mov dword [ebx + 0x4c], esi
jmp 0x412ff7
or dword [ebx + 0x40], 0x80000
jmp case.0x410f93.10545
and dword [ebx + 0x40], 0xfff7ffff
jmp case.0x410f93.10545
mov byte [ebx + 0xd4], 1
or dword [ebx + 0x40], 0x40000
jmp case.0x410f93.10545
mov byte [ebx + 0xd4], 0
and dword [ebx + 0x40], 0xfffbffff
jmp case.0x410f93.10545
mov dword [ebx + 0xe24], 0xc
lea eax, [ecx - 0x20]
push 0
mov edx, dword [ebx + 0x98]
mov ecx, ebx
push eax
call fcn.0040e720
mov esi, dword [0x4c78a0]
add esp, 8
jmp case.0x410f93.10545
push 0
push dword [ebx + 0x94]
lea edx, [ecx - 0x20]
mov dword [ebx + 0xe24], 0
mov ecx, ebx
call fcn.0040e720
mov esi, dword [0x4c78a0]
add esp, 8
jmp case.0x410f93.10545
mov eax, dword [ebx + 0x40]
and ecx, 0xf
and eax, 0xfffbfe00
or eax, ecx
mov dword [ebx + 0x40], eax
jmp 0x412fed
mov eax, dword [ebx + 0x40]
and ecx, 0xf
shl ecx, 9
and eax, 0xffdc01ff
or ecx, eax
mov dword [ebx + 0x40], ecx
mov dword [ebx + 0xe24], 0
mov ecx, ebx
call fcn.0040c860
cmp dword [ebx + 0xe28], 0
mov edi, dword [esp + 0x40]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
je 0x4101a4
mov ecx, dword [ebx + 0x98]
mov eax, dword [ebx + 0x94]
cmp ecx, dword [ebx + 0x12c]
jne 0x413034
xor ecx, ecx
inc eax
jmp 0x413035
inc ecx
push ecx
push eax
push dword [ebx + 0x98]
mov ecx, ebx
push dword [ebx + 0x94]
call fcn.0040e3e0
mov edi, dword [esp + 0x50]
add esp, 0x10
jmp 0x41018f
mov edx, edi
lea ecx, [ebx + 0x80]
call fcn.00491630
cmp byte [esp + 0x2f], 0
jne 0x413087
lea ecx, [ebx + 0x80]
call fcn.00459100
mov ecx, dword [ebx + 0x1064]
push eax
push ecx
mov edx, dword [ecx]
mov eax, dword [edx + 0x5c]
call eax
add esp, 8
mov ecx, ebx
call fcn.0040f580
cmp byte [ebx + 0x10ed], 0
je 0x4130a6
mov ecx, dword [ebx + 0x1068]
test ecx, ecx
je 0x4130a6
call fcn.0041b600
mov ecx, dword [esp + 0x9c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00495b16
mov esp, ebp
pop ebp
ret