Function at 0x41b740
Capabilities:
Parse credit card information

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x190
mov eax, dword [0x4b7780]
xor eax, ebp
mov dword [ebp - 4], eax
mov ecx, dword [sym.imp.KERNEL32.dll_GetTickCount]
push ebx
mov ebx, dword [ebp + 8]
push esi
or esi, 0xffffffff
mov dword [ebp - 0x180], ebx
xor eax, eax
mov dword [ebp - 0x16c], 0
push edi
mov dword [ebp - 0x168], esi
mov dword [ebp - 0x164], eax
mov dword [ebp - 0x17c], ecx
lea edi, [ebx + 0x60]
nop dword [eax]
cmp dword [ebp - 0x16c], 0
jg 0x41b7bb
cmp esi, 0xffffffff
jne 0x41b863
push edi
call fcn.0040d860
add esp, 4
test eax, eax
jle 0x41e77e
mov eax, dword [ebp - 0x164]
jmp 0x41b7c4
cmp esi, 0xffffffff
jne 0x41b863
cmp dword [ebp - 0x16c], 0
jne 0x41b826
lea eax, [ebp - 0x16c]
push eax
lea eax, [ebp - 0x178]
push eax
push edi
call fcn.0040d840
mov esi, dword [ebp - 0x16c]
add esp, 0xc
cmp esi, 0x100
jbe 0x41b7fd
mov esi, 0x100
mov dword [ebp - 0x16c], esi
push esi
push dword [ebp - 0x178]
lea eax, [ebp - 0x154]
push eax
call fcn.0043af70
push esi
push edi
call fcn.0040d790
mov esi, dword [ebp - 0x168]
lea eax, [ebp - 0x154]
add esp, 0x14
movzx edx, byte [eax]
inc eax
dec dword [ebp - 0x16c]
cmp dword [ebx + 0x1128], 2
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x164], eax
jne 0x41b874
mov eax, dword [ebx + 0x108c]
test eax, eax
je 0x41b874
push 2
push edx
push eax
call fcn.0040b050
mov edx, dword [ebp - 0x15c]
add esp, 0xc
jmp 0x41b874
mov edx, esi
or esi, 0xffffffff
mov dword [ebp - 0x15c], edx
mov dword [ebp - 0x168], esi
cmp dword [ebx + 0xec], 0
je 0x41b969
push 1
lea eax, [ebp - 0x15c]
push eax
lea eax, [ebx + 0xf8]
push eax
call fcn.0040d6b0
add esp, 0xc
cmp dword [ebx + 0xf0], 0
je 0x41b963
mov eax, dword [ebp - 0x15c]
cmp eax, 0x1b
jne 0x41b8c6
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xf4], 1
jmp 0x41b790
cmp eax, 0x9b
jne 0x41b8e2
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xf4], 2
jmp 0x41b790
mov ecx, dword [ebx + 0xf4]
cmp eax, 0x5b
jne 0x41b907
cmp ecx, 1
jne 0x41b907
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xf4], 2
jmp 0x41b790
cmp eax, 0x34
jne 0x41b926
cmp ecx, 2
jne 0x41b94e
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xf4], 3
jmp 0x41b790
cmp eax, 0x69
jne 0x41b94e
cmp ecx, 3
jne 0x41b94e
push ebx
mov dword [ebx + 0xf4], 4
call fcn.0041ee40
mov eax, dword [ebp - 0x164]
add esp, 4
jmp 0x41b790
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xf4], 0
jmp 0x41b790
mov edx, dword [ebp - 0x15c]
cmp dword [ebx + 0xe44], 0
jne case.default.0x41ba74
cmp dword [ebx + 0xdc], 0
jne 0x41ba65
mov ecx, dword [ebx + 0x1090]
cmp dword [ecx + 0xc], 0xfde9
je 0x41ba65
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x41b9ca
cmp edx, 0x1b
je 0x41b9ca
cmp edx, 0xa
je 0x41b9ca
cmp edx, 0xd
je 0x41b9ca
cmp edx, 8
je 0x41b9ca
cmp eax, 2
jne 0x41b9bf
or edx, 0x80
or edx, 0xda00
jmp 0x41bbda
mov eax, dword [ebx + 0x94]
mov eax, dword [ebx + eax*4 + 0x170]
cmp eax, 0xda00
jg 0x41ba2a
je 0x41ba13
cmp eax, 0xd800
je 0x41ba44
cmp eax, 0xd900
jne case.default.0x41ba74
mov al, byte [ecx + edx + 0xa10]
cmp al, 0xff
je 0x41ba05
movzx edx, al
jmp 0x41bbda
movzx edx, dl
or edx, 0xd900
jmp 0x41bbda
cmp edx, 0x20
jb case.default.0x41ba74
movzx edx, dl
or edx, 0xda00
jmp 0x41bbda
cmp eax, 0xdb00
jne case.default.0x41ba74
cmp edx, 0x23
jne 0x41ba44
mov edx, 0xd97d
jmp 0x41bbda
mov al, byte [ecx + edx + 0xa10]
cmp al, 0xff
je 0x41ba57
movzx edx, al
jmp 0x41bbda
movzx edx, dl
or edx, 0xd800
jmp 0x41bbda
mov esi, dword [ebx + 0xe0]
cmp esi, 5
ja case.default.0x41ba74
jmp dword [esi*4 + 0x41e7b4]
cmp edx, 0x80
jae 0x41ba9c
mov eax, dword [ebx + 0x1090]
mov al, byte [eax + edx + 0xa10]
cmp al, 0xff
je 0x41ba57
movzx edx, al
jmp 0x41bbda
mov eax, edx
and eax, 0xe0
cmp al, 0xc0
jne 0x41bad5
mov esi, dword [ebp - 0x168]
and edx, 0x1f
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xe0], 1
mov dword [ebx + 0xe8], 1
mov dword [ebx + 0xe4], edx
jmp 0x41b790
mov eax, edx
and eax, 0xf0
cmp al, 0xe0
jne 0x41bb0e
mov esi, dword [ebp - 0x168]
and edx, 0xf
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xe0], 2
mov dword [ebx + 0xe8], 2
mov dword [ebx + 0xe4], edx
jmp 0x41b790
mov eax, edx
and eax, 0xf8
cmp al, 0xf0
jne 0x41bb47
mov esi, dword [ebp - 0x168]
and edx, 7
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xe0], 3
mov dword [ebx + 0xe8], 3
mov dword [ebx + 0xe4], edx
jmp 0x41b790
mov eax, edx
and eax, 0xfc
cmp al, 0xf8
jne 0x41bb80
mov esi, dword [ebp - 0x168]
and edx, 3
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xe0], 4
mov dword [ebx + 0xe8], 4
mov dword [ebx + 0xe4], edx
jmp 0x41b790
mov eax, edx
and eax, 0xfe
cmp al, 0xfc
jne 0x41bbd5
mov esi, dword [ebp - 0x168]
and edx, 1
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xe0], 5
mov dword [ebx + 0xe8], 5
mov dword [ebx + 0xe4], edx
jmp 0x41b790
mov eax, edx
and al, 0xc0
cmp al, 0x80
je 0x41bc5a
mov dword [ebp - 0x168], edx
mov dword [ebx + 0xe0], 0
mov edx, 0xd961
mov dword [ebp - 0x15c], edx
mov eax, edx
and eax, 0xffffffe0
cmp eax, 0x80
jne 0x41bdb0
cmp dword [ebx + 0xe44], 5
jge 0x41bdb0
cmp dword [ebx + 0x148], 0
jne 0x41bdb0
test byte [ebx], 0x10
je 0x41bdb0
cmp edx, 0x9a
jne 0x41bd90
xor edx, edx
mov dword [ebp - 0x15c], edx
test edx, 0xffffffe0
jne 0x41c209
cmp dword [ebx + 0xe44], 5
jge 0x41c209
add edx, 0xfffffffb
cmp edx, 0x16
ja case.0x41cac1.10545
movzx eax, byte [edx + 0x41e7fc]
jmp dword [eax*4 + 0x41e7cc]
mov ecx, dword [ebx + 0xe4]
mov eax, edx
shl ecx, 6
and eax, 0x3f
mov edx, ecx
or edx, eax
lea eax, [esi - 1]
mov esi, dword [ebp - 0x168]
test eax, eax
mov dword [ebx + 0xe0], eax
mov eax, dword [ebp - 0x164]
mov dword [ebx + 0xe4], edx
jne 0x41b790
mov dword [ebp - 0x15c], edx
cmp edx, 0x80
jb 0x41bbd5
cmp edx, 0x800
jae 0x41bcb6
cmp dword [ebx + 0xe8], 2
jge 0x41bbd5
cmp edx, 0x10000
jae 0x41bccb
cmp dword [ebx + 0xe8], 3
jge 0x41bbd5
cmp edx, 0x200000
jae 0x41bce0
cmp dword [ebx + 0xe8], 4
jge 0x41bbd5
cmp edx, 0x4000000
jae 0x41bcf5
cmp dword [ebx + 0xe8], 5
jge 0x41bbd5
cmp edx, 0x2028
je 0x41bd86
cmp edx, 0x2029
je 0x41bd86
cmp edx, 0xa0
jb 0x41bd86
cmp edx, 0xd800
jb 0x41bd25
cmp edx, 0xe000
jb 0x41bbd5
cmp edx, 0x10ffff
ja 0x41bbd5
cmp edx, 0xe0000
jb 0x41bd51
mov esi, dword [ebp - 0x168]
mov eax, dword [ebp - 0x164]
cmp edx, 0xe007f
jbe 0x41b790
mov esi, dword [ebp - 0x168]
mov eax, dword [ebp - 0x164]
cmp edx, 0xfeff
je 0x41b790
cmp edx, 0xfffe
je 0x41bbd5
cmp edx, 0xffff
jne case.default.0x41ba74
jmp 0x41bbd5
mov edx, 0xfffd
jmp 0x41bbda
and edx, 0x1f
mov dword [ebx + 0xe44], 1
add edx, 0x40
mov dword [ebx + 0x230], 0
mov dword [ebp - 0x15c], edx
cmp edx, 0x7f
jne 0x41bc27
cmp dword [ebx + 0xe44], 5
jge 0x41bc27
test dword [ebx], 0x4000
je 0x41bc27
mov eax, dword [ebx + 0x70]
mov ecx, eax
test eax, eax
je 0x41bdea
cmp dword [ebx + 0x8c], 0
jne 0x41bdea
lea ecx, [eax - 1]
mov dword [ebx + 0x70], ecx
cmp dword [ebx + 0x1140], 0
mov dword [ebx + 0x8c], 0
jne case.0x41cac1.10545
push dword [ebx + 0x6c]
push ecx
push ebx
call fcn.00416620
push dword [ebx + 0x6c]
mov eax, dword [ebx + 0x70]
inc eax
push eax
push ebx
call fcn.00416620
add esp, 0x18
lea eax, [ebx + 0x54]
push eax
push dword [ebx + 0x70]
push 1
push 0xb8e
push dword [ebx + 0x6c]
push ebx
call fcn.00417f60
add esp, 0x10
push eax
call fcn.00416d70
add esp, 0xc
jmp case.0x41cac1.10545
test byte [ebx], 1
je 0x41e343
mov eax, dword [ebx + 0x1084]
test eax, eax
je case.0x41cac1.10545
push 0
push dword [ebx + 0x10dc]
push dword [ebx + 0x10d8]
push 0
push eax
call fcn.0040a510
add esp, 0x14
jmp case.0x41cac1.10545
call dword [ebp - 0x17c]
cmp dword [ebx + 0x34], 0
mov esi, eax
jne 0x41beb4
push 8
push 1
call fcn.0040e1f0
mov ecx, eax
add esp, 8
mov dword [ecx + 4], esi
mov dword [ecx], 0
cmp dword [ebx + 0x28], 0
jne 0x41bea9
mov dword [ebx + 0x28], ecx
jmp 0x41beae
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 0x41bee8
nop dword [eax + eax]
mov eax, esi
sub eax, dword [ebx + 0x10f4]
cmp dword [ecx + 4], eax
jae 0x41bee8
mov eax, dword [ecx]
push ecx
mov dword [ebx + 0x28], eax
call fcn.0040e1d0
mov ecx, dword [ebx + 0x28]
add esp, 4
dec dword [ebx + 0x30]
test ecx, ecx
jne 0x41bec0
mov dword [ebx + 0x2c], ecx
mov ecx, dword [ebx + 0x10e8]
test ecx, ecx
je 0x41bf28
cmp dword [ebx + 0x34], 0
je 0x41bf11
mov eax, esi
sub eax, dword [ebx + 0x38]
cmp eax, dword [ebx + 0x10f0]
jb 0x41bf28
mov dword [ebx + 0x34], 0
mov dword [ebx + 0x38], esi
jmp 0x41bf2f
mov eax, dword [ebx + 0x30]
cmp eax, dword [ebx + 0x10ec]
jl 0x41bf28
mov dword [ebx + 0x34], 1
mov dword [ebx + 0x38], esi
jmp 0x41bf2f
mov dword [ebx + 0x38], esi
test ecx, ecx
je 0x41bf39
cmp dword [ebx + 0x34], 0
jne 0x41bfc5
push dword [ebx + 0x10e4]
push dword [ebx + 0x1088]
call fcn.0042cf90
add esp, 8
cmp dword [ebx + 0x10e4], 2
jne 0x41bfc5
push 0
push 0
push ebx
call fcn.0041f4e0
add esp, 0xc
push ebx
call fcn.00419250
jmp 0x41e729
mov eax, dword [ebx + 0x70]
test eax, eax
jne 0x41bfa3
mov ecx, dword [ebx + 0x6c]
test ecx, ecx
je 0x41bfc5
cmp dword [ebx + 0x88], eax
je 0x41bfc5
test ecx, ecx
jle 0x41bfa3
mov eax, dword [ebx + 0x12c]
dec eax
mov dword [ebx + 0x70], eax
lea eax, [ecx - 1]
push ebx
mov dword [ebx + 0x6c], eax
call fcn.00419250
jmp 0x41e729
cmp dword [ebx + 0x8c], 0
je 0x41bfc1
push ebx
mov dword [ebx + 0x8c], 0
call fcn.00419250
jmp 0x41e729
dec eax
mov dword [ebx + 0x70], eax
push ebx
call fcn.00419250
jmp 0x41e729
test byte [ebx], 2
je 0x41e343
mov dword [ebx + 0x94], 1
jmp case.0x41cac1.10545
test byte [ebx], 2
je 0x41e343
mov dword [ebx + 0x94], 0
jmp case.0x41cac1.10545
cmp dword [ebx + 0x148], 0
je 0x41c019
mov eax, 9
mov dword [ebx + 0xe44], eax
jmp case.0x41cac1.10545
test byte [ebx], 1
je 0x41e343
mov eax, 1
mov dword [ebx + 0x230], 0
mov dword [ebx + 0xe44], eax
jmp case.0x41cac1.10545
push ebx
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x8c], 0
call fcn.00419250
add esp, 4
cmp dword [ebx + 0x1114], 0
je 0x41c090
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x80]
cmp ecx, eax
jne 0x41c07f
push 1
push 1
push eax
push dword [ebx + 0x7c]
push ebx
call fcn.00418fb0
add esp, 0x14
jmp 0x41c090
mov eax, dword [ebx + 0x128]
dec eax
cmp ecx, eax
jge 0x41c090
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov eax, dword [ebx + 0x108c]
test eax, eax
je case.0x41cac1.10545
push 1
push dword [ebp - 0x15c]
push eax
call fcn.0040b050
add esp, 0xc
jmp case.0x41cac1.10545
test dword [ebx], 0x1000
je case.0x41bc53.11
push 0
push 0
push 0
push ebx
call fcn.00418520
push 1
push 0
push 0
push ebx
call fcn.00417a60
add esp, 0x20
cmp dword [ebx + 0x1168], 0
je 0x41c0e7
mov dword [ebx + 0x10], 0
mov dword [ebx + 0x8c], 0
push ebx
call fcn.00419250
jmp 0x41e729
test byte [ebx], 2
jne case.0x41bc53.10
mov dword [ebx + 0xe44], 0
jmp case.0x41cac1.10545
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x80]
cmp ecx, eax
jne 0x41c130
push 1
push 1
push eax
push dword [ebx + 0x7c]
push ebx
call fcn.00418fb0
add esp, 0x14
jmp 0x41c141
mov eax, dword [ebx + 0x128]
dec eax
cmp ecx, eax
jge 0x41c141
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
cmp dword [ebx + 0x1120], 0
je 0x41c151
mov dword [ebx + 0x70], 0
push ebx
mov dword [ebx + 0x8c], 0
call fcn.00419250
mov eax, dword [ebx + 0x108c]
add esp, 4
test eax, eax
je case.0x41cac1.10545
push 1
push dword [ebp - 0x15c]
push eax
call fcn.0040b050
add esp, 0xc
jmp case.0x41cac1.10545
mov esi, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x70]
push 1
push 0xc2a
push esi
push ebx
mov dword [ebp - 0x160], eax
call fcn.00417f60
mov edx, dword [ebx + 0x12c]
add esp, 0x10
mov edi, eax
dec edx
nop
mov ecx, dword [ebx + 0x70]
inc ecx
mov dword [ebx + 0x70], ecx
cmp ecx, edx
jge 0x41c1c7
mov eax, dword [ebx + 0xe40]
cmp byte [ecx + eax], 0
je 0x41c1b0
test byte [edi], 3
mov eax, dword [ebx + 0x12c]
je 0x41c1e1
cdq
sub eax, edx
sar eax, 1
cmp ecx, eax
jl 0x41c1e8
dec eax
mov dword [ebx + 0x70], eax
jmp 0x41c1e8
cmp ecx, eax
jl 0x41c1e8
mov dword [ebx + 0x70], edx
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push dword [ebp - 0x160]
push esi
push ebx
call fcn.004166f0
push ebx
call fcn.00419250
add esp, 0x18
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0xe44]
cmp eax, 0xd
ja case.0x41cac1.10545
jmp dword [eax*4 + 0x41e814]
push 1
push 0xc44
push dword [ebx + 0x6c]
push ebx
call fcn.00417f60
mov ecx, dword [ebp - 0x15c]
add esp, 0x10
and ecx, 0xfffffc00
mov esi, eax
cmp ecx, 0xd800
jne 0x41c24f
mov edi, 1
jmp 0x41c26f
cmp dword [ebx + 0x1108], 0
push dword [ebp - 0x15c]
je 0x41c265
call fcn.00421530
jmp 0x41c26a
call fcn.004214d0
mov edi, eax
add esp, 4
cmp dword [ebx + 0x8c], 0
je 0x41c2e0
cmp dword [ebx + 0x88], 0
je 0x41c2e0
test edi, edi
jle 0x41c2e0
or word [esi], 0x10
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x80]
cmp ecx, eax
jne 0x41c2a9
push 1
push 1
push eax
push dword [ebx + 0x7c]
push ebx
call fcn.00418fb0
add esp, 0x14
jmp 0x41c2ba
mov eax, dword [ebx + 0x128]
dec eax
cmp ecx, eax
jge 0x41c2ba
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
push 1
push 0xc55
push dword [ebx + 0x6c]
mov dword [ebx + 0x70], 0
push ebx
mov dword [ebx + 0x8c], 0
call fcn.00417f60
add esp, 0x10
mov esi, eax
cmp dword [ebx + 0x90], 0
je 0x41c2f7
test edi, edi
jle 0x41c2f7
push edi
push ebx
call fcn.00417d60
add esp, 8
cmp dword [ebx + 0xe48], 0
je 0x41c32b
mov ecx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x6c]
mov dword [ebp - 0x18c], ecx
cmp ecx, dword [ebx + 0x12c]
jne 0x41c319
xor ecx, ecx
inc eax
jmp 0x41c31a
inc ecx
push ecx
push eax
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push ebx
call fcn.004166f0
add esp, 0x14
mov eax, dword [ebp - 0x15c]
and eax, 0xffffff00
cmp eax, 0xd800
je 0x41c341
test eax, eax
jne 0x41c35c
mov eax, dword [ebx + 0x108c]
test eax, eax
je 0x41c35c
push 1
push dword [ebp - 0x15c]
push eax
call fcn.0040b050
add esp, 0xc
sub edi, 0
je 0x41c53e
sub edi, 1
je 0x41c46f
sub edi, 1
jne 0x41c550
push dword [ebx + 0x6c]
push dword [ebx + 0x70]
push ebx
call fcn.00416620
push dword [ebx + 0x6c]
mov eax, dword [ebx + 0x70]
add eax, 2
push eax
push ebx
call fcn.00416620
mov eax, dword [ebx + 0x12c]
add esp, 0x18
mov ecx, dword [ebx + 0x70]
dec eax
cmp ecx, eax
jne 0x41c423
lea eax, [ebx + 0x54]
push eax
push ecx
push esi
call fcn.00416d70
or word [esi], 0x30
add esp, 0xc
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x80]
cmp ecx, eax
jne 0x41c3da
push 1
push 1
push eax
push dword [ebx + 0x7c]
push ebx
call fcn.00418fb0
add esp, 0x14
jmp 0x41c3eb
mov eax, dword [ebx + 0x128]
dec eax
cmp ecx, eax
jge 0x41c3eb
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
push 1
push 0xc85
push dword [ebx + 0x6c]
mov dword [ebx + 0x70], 0
push ebx
call fcn.00417f60
push dword [ebx + 0x6c]
mov esi, eax
push dword [ebx + 0x70]
push ebx
call fcn.00416620
push dword [ebx + 0x6c]
mov eax, dword [ebx + 0x70]
add eax, 2
push eax
push ebx
call fcn.00416620
add esp, 0x28
push dword [ebx + 0x70]
push esi
call fcn.00416740
mov eax, dword [ebx + 0x70]
mov ecx, dword [esi + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x15c]
mov dword [ecx + edx*4], eax
mov eax, dword [ebx + 0x70]
mov ecx, dword [esi + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x40]
mov dword [ecx + edx*4 + 4], eax
inc dword [ebx + 0x70]
push dword [ebx + 0x70]
push esi
call fcn.00416740
mov eax, dword [ebx + 0x70]
add esp, 0x10
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0x14]
mov dword [eax + ecx*4], 0xdfff
jmp 0x41c4a7
push dword [ebx + 0x6c]
push dword [ebx + 0x70]
push ebx
call fcn.00416620
push dword [ebx + 0x6c]
mov eax, dword [ebx + 0x70]
inc eax
push eax
push ebx
call fcn.00416620
push dword [ebx + 0x70]
push esi
call fcn.00416740
mov eax, dword [ebx + 0x70]
add esp, 0x20
mov ecx, dword [esi + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x15c]
mov dword [ecx + edx*4], eax
mov eax, dword [ebx + 0x70]
mov ecx, dword [esi + 0x14]
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x40]
mov dword [ecx + edx*4 + 4], eax
mov ecx, dword [ebx + 0x70]
lea eax, [ecx + 1]
mov dword [ebx + 0x70], eax
cmp eax, dword [ebx + 0x12c]
jne 0x41c0f1
cmp dword [ebx + 0x88], 0
mov dword [ebx + 0x70], ecx
mov dword [ebx + 0x8c], 1
je 0x41c0f1
cmp dword [ebx + 0x148], 0
je 0x41c0f1
or word [esi], 0x10
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x80]
cmp ecx, eax
jne 0x41c521
push 1
push 1
push eax
push dword [ebx + 0x7c]
push ebx
call fcn.00418fb0
add esp, 0x14
mov dword [ebx + 0x70], 0
jmp 0x41c0e7
mov eax, dword [ebx + 0x128]
dec eax
cmp ecx, eax
jge 0x41c532
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
mov dword [ebx + 0x70], 0
jmp 0x41c0e7
mov edx, dword [ebx + 0x70]
test edx, edx
jg 0x41c561
nop word [eax + eax]
mov esi, dword [ebp - 0x168]
mov eax, dword [ebp - 0x164]
jmp 0x41b786
cmp dword [ebx + 0x8c], 0
lea eax, [edx - 1]
cmove edx, eax
mov eax, dword [esi + 0x14]
lea ecx, [edx + edx*2]
cmp dword [eax + ecx*4], 0xdfff
jne 0x41c57e
dec edx
push dword [ebp - 0x15c]
push edx
push esi
call fcn.00416550
push ebx
call fcn.00419250
mov esi, dword [ebp - 0x168]
add esp, 0x10
mov eax, dword [ebp - 0x164]
jmp 0x41b786
cmp edx, 0x5c
jne case.0x41c218.1
push ebx
call fcn.00416f10
mov dword [ebx + 0xe44], 0
jmp 0x41e729
lea eax, [edx - 0x20]
cmp eax, 0xf
ja 0x41c5e1
cmp dword [ebx + 0x230], 0
mov eax, 0xffffffff
cmovne edx, eax
mov dword [ebx + 0x230], edx
jmp case.0x41cac1.10545
mov ecx, dword [ebx + 0x230]
shl ecx, 8
add ecx, edx
mov dword [ebx + 0xe44], 0
mov eax, ecx
cmp eax, 0x2333
ja 0x41c842
je case.0x41c861.9012
sub eax, 0x37
cmp eax, 0x2c
ja case.0x41cac1.10545
movzx eax, byte [eax + 0x41e880]
jmp dword [eax*4 + 0x41e84c]
mov dword [ebx + 0xe44], 2
mov dword [ebx + 0x22c], 1
mov dword [ebx + 0x1ac], 0
mov dword [ebx + 0x230], 0
jmp case.0x41cac1.10545
test dword [ebx], 0x4000
je case.0x41cac1.10545
mov dword [ebx + 0xe44], 3
mov dword [ebx + 0x1ac], 0
jmp case.0x41cac1.10545
test byte [ebx], 2
je case.0x41cac1.10545
push 1
push ebx
call fcn.00418e80
add esp, 8
jmp case.0x41cac1.10545
test byte [ebx], 2
je case.0x41cac1.10545
push 0
push ebx
call fcn.00418e80
push ebx
call fcn.00419250
add esp, 0xc
jmp case.0x41cac1.10545
test byte [ebx], 2
je case.0x41cac1.10545
mov dword [ebx + 0x144], 1
jmp case.0x41cac1.10545
test byte [ebx], 2
je case.0x41cac1.10545
mov dword [ebx + 0x144], 0
jmp case.0x41cac1.10545
test byte [ebx], 2
je case.0x41cac1.10545
mov ecx, dword [ebx + 0x6c]
mov eax, dword [ebx + 0x80]
cmp ecx, eax
jne 0x41c709
push 1
push 1
push eax
push dword [ebx + 0x7c]
push ebx
call fcn.00418fb0
add esp, 0x14
jmp 0x41c0e7
mov eax, dword [ebx + 0x128]
dec eax
cmp ecx, eax
jge 0x41c0e7
lea eax, [ecx + 1]
mov dword [ebx + 0x6c], eax
jmp 0x41c0e7
test byte [ebx], 2
je case.0x41cac1.10545
mov dword [ebx + 0x70], 0
jmp 0x41c6e6
test byte [ebx], 2
je case.0x41cac1.10545
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x7c]
cmp eax, ecx
jne 0x41c761
push 1
push 0xffffffffffffffff
push dword [ebx + 0x80]
push ecx
push ebx
call fcn.00418fb0
add esp, 0x14
jmp 0x41c0e7
test eax, eax
jle 0x41c0e7
dec eax
mov dword [ebx + 0x6c], eax
jmp 0x41c0e7
test byte [ebx], 2
je case.0x41cac1.10545
mov edx, dword [ebx + 0x1084]
test edx, edx
je case.0x41cac1.10545
lea esi, [ebx + 0xa40]
mov ecx, esi
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41c794
push 0
sub ecx, edi
push ecx
push esi
push edx
call fcn.00409be0
add esp, 0x10
jmp case.0x41cac1.10545
test byte [ebx], 2
je case.0x41cac1.10545
push 1
push ebx
call fcn.004186b0
mov eax, dword [ebx + 0x1084]
add esp, 8
test eax, eax
je 0x41c7d6
push eax
call fcn.00409ae0
add esp, 4
cmp dword [ebx + 0xb4], 0
je 0x41c808
cmp dword [ebx + 0x114c], 0
jne 0x41c7fe
push dword [ebx + 0x128]
push 0x50
push dword [ebx + 0x1088]
call fcn.0042f490
add esp, 0xc
mov dword [ebx + 0xb4], 0
cmp dword [ebx + 0x1168], 0
je 0x41c0f1
push ebx
mov dword [ebx + 0x10], 0
call fcn.00419250
jmp 0x41e729
test byte [ebx], 2
je case.0x41cac1.10545
mov ecx, dword [ebx + 0xe40]
mov eax, dword [ebx + 0x70]
mov byte [ecx + eax], 1
jmp case.0x41cac1.10545
cmp eax, 0x2538
ja 0x41c988
je 0x41c9b6
sub eax, 0x2334
cmp eax, 4
ja case.0x41cac1.10545
jmp dword [eax*4 + 0x41e8b0]
test byte [ebx], 2
je case.0x41cac1.10545
xor eax, eax
mov dword [ebp - 0x158], eax
cmp dword [ebx + 0x128], eax
jle 0x41c902
push 1
push 0xd3d
push eax
push ebx
call fcn.00417f60
push eax
push ebx
mov dword [ebp - 0x160], eax
call fcn.004166c0
xor esi, esi
add esp, 0x18
cmp dword [ebx + 0x12c], esi
jle 0x41c8e2
lea eax, [ebx + 0x48]
xor edi, edi
push eax
push esi
push dword [ebp - 0x160]
call fcn.00416d70
mov eax, dword [ebp - 0x160]
lea edi, [edi + 0xc]
inc esi
add esp, 0xc
mov eax, dword [eax + 0x14]
mov dword [edi + eax - 0xc], 0x45
lea eax, [ebx + 0x48]
cmp esi, dword [ebx + 0x12c]
jl 0x41c8b2
mov eax, dword [ebp - 0x160]
xor ecx, ecx
mov word [eax], cx
mov eax, dword [ebp - 0x158]
inc eax
mov dword [ebp - 0x158], eax
cmp eax, dword [ebx + 0x128]
jl 0x41c885
cmp dword [ebx + 0x1168], 0
je 0x41c912
mov dword [ebx + 0x10], 0
push ebx
call fcn.00419250
push 0
push dword [ebx + 0x128]
push 0
push 0
push ebx
call fcn.004166f0
add esp, 0x18
jmp case.0x41cac1.10545
test byte [ebx], 2
je case.0x41cac1.10545
sub ecx, 0x2333
je 0x41c95f
sub ecx, 1
je 0x41c958
sub ecx, 1
je 0x41c954
mov edi, 1
jmp 0x41c964
xor edi, edi
jmp 0x41c964
mov edi, 3
jmp 0x41c964
mov edi, 2
push 1
push 0xd67
push dword [ebx + 0x6c]
push ebx
call fcn.00417f60
mov esi, eax
push esi
push ebx
call fcn.004166c0
add esp, 0x18
mov word [esi], di
jmp case.0x41cac1.10545
cmp eax, 0x2855
ja 0x41caac
je 0x41ca84
cmp eax, 0x2830
ja 0x41ca2b
je 0x41ca06
sub eax, 0x2540
je 0x41c9de
sub eax, 7
jne case.0x41cac1.10545
test dword [ebx], 0x4000
je case.0x41cac1.10545
cmp dword [ebx + 0x1148], 0
jne case.0x41cac1.10545
mov dword [ebx + 0xdc], 1
jmp case.0x41cac1.10545
test dword [ebx], 0x4000
je case.0x41cac1.10545
cmp dword [ebx + 0x1148], 0
jne case.0x41cac1.10545
mov dword [ebx + 0xdc], 0
jmp case.0x41cac1.10545
test byte [ebx], 2
je case.0x41cac1.10545
cmp dword [ebx + 0x1148], 0
jne case.0x41cac1.10545
mov dword [ebx + 0x170], 0xd900
jmp case.0x41cac1.10545
sub eax, 0x2841
je 0x41ca5f
sub eax, 1
jne case.0x41cac1.10545
test byte [ebx], 2
je case.0x41cac1.10545
cmp dword [ebx + 0x1148], eax
jne case.0x41cac1.10545
mov dword [ebx + 0x170], 0xd800
jmp case.0x41cac1.10545
test byte [ebx], 2
je case.0x41cac1.10545
cmp dword [ebx + 0x1148], 0
jne case.0x41cac1.10545
mov dword [ebx + 0x170], 0xdb00
jmp case.0x41cac1.10545
test dword [ebx], 0x4000
je case.0x41cac1.10545
cmp dword [ebx + 0x1148], 0
jne case.0x41cac1.10545
mov dword [ebx + 0x170], 0xda00
jmp case.0x41cac1.10545
sub eax, 0x2930
cmp eax, 0x25
ja case.0x41cac1.10545
movzx eax, byte [eax + 0x41e8d8]
jmp dword [eax*4 + 0x41e8c4]
test byte [ebx], 2
je case.0x41cac1.10545
cmp dword [ebx + 0x1148], 0
jne case.0x41cac1.10545
mov dword [ebx + 0x174], 0xdb00
jmp case.0x41cac1.10545
test byte [ebx], 2
je case.0x41cac1.10545
cmp dword [ebx + 0x1148], 0
jne case.0x41cac1.10545
mov dword [ebx + 0x174], 0xd800
jmp case.0x41cac1.10545
test byte [ebx], 2
je case.0x41cac1.10545
cmp dword [ebx + 0x1148], 0
jne case.0x41cac1.10545
mov dword [ebx + 0x174], 0xd900
jmp case.0x41cac1.10545
test dword [ebx], 0x4000
je case.0x41cac1.10545
cmp dword [ebx + 0x1148], 0
jne case.0x41cac1.10545
mov dword [ebx + 0x174], 0xda00
jmp case.0x41cac1.10545
push edx
mov dword [ebx + 0xe44], 0
call fcn.004687a0
add esp, 4
test eax, eax
je 0x41cbfd
mov eax, dword [ebx + 0x22c]
cmp eax, 0x20
jg 0x41cc6b
cmp dword [ebx + eax*4 + 0x1a8], 0
jne 0x41cb9e
mov dword [ebx + eax*4 + 0x1a8], 0
mov eax, dword [ebx + 0x22c]
lea edx, [ebx + eax*4]
mov eax, dword [edx + 0x1a8]
cmp eax, 0x19999999
ja 0x41cbe4
mov esi, dword [ebp - 0x15c]
lea ecx, [eax + eax*4]
mov eax, 0xffffffcf
add ecx, ecx
sub eax, esi
cmp ecx, eax
ja 0x41cbe4
lea eax, [esi - 0x30]
add eax, ecx
mov dword [edx + 0x1a8], eax
mov dword [ebx + 0xe44], 2
jmp case.0x41cac1.10545
mov dword [edx + 0x1a8], 0xffffffff
mov dword [ebx + 0xe44], 2
jmp case.0x41cac1.10545
mov ecx, dword [ebp - 0x15c]
cmp ecx, 0x3b
jne 0x41cc33
mov eax, dword [ebx + 0x22c]
cmp eax, 0x20
jge 0x41cc6b
mov dword [ebx + eax*4 + 0x1ac], 0
inc dword [ebx + 0x22c]
mov dword [ebx + 0xe44], 2
jmp case.0x41cac1.10545
cmp ecx, 0x40
jae 0x41cc7a
cmp dword [ebx + 0x230], 0
je 0x41cc5a
mov dword [ebx + 0x230], 0xffffffff
mov dword [ebx + 0xe44], 2
jmp case.0x41cac1.10545
cmp ecx, 0x3f
mov eax, 1
cmove ecx, eax
mov dword [ebx + 0x230], ecx
mov dword [ebx + 0xe44], 2
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0x230]
shl eax, 8
add eax, ecx
cmp eax, 0x168
ja 0x41dc68
je case.0x41cca9.104
sub eax, 0x40
cmp eax, 0x38
ja case.0x41cac1.10545
movzx eax, byte [eax + 0x41e988]
jmp dword [eax*4 + 0x41e900]
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x1ac], ecx
cmove ecx, eax
mov eax, dword [ebx + 0x6c]
sub eax, ecx
push 1
push eax
push dword [ebx + 0x70]
push ebx
call fcn.00418520
push ebx
call fcn.00419250
add esp, 0x14
jmp case.0x41cac1.10545
test dword [ebx], 0x2000
je 0x41e343
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x1ac], ecx
cmove ecx, eax
mov eax, dword [ebx + 0x6c]
add eax, ecx
jmp 0x41ccd6
test dword [ebx], 0x2000
je 0x41e343
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x12c]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
push eax
mov dword [ebx + 0x1ac], ecx
test ecx, ecx
push dword [ebx + 0x6c]
cmove ecx, eax
mov eax, dword [ebx + 0x70]
add eax, ecx
push eax
push ebx
call fcn.00418520
push ebx
call fcn.00419250
add esp, 0x14
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x12c]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
push eax
mov dword [ebx + 0x1ac], ecx
test ecx, ecx
push dword [ebx + 0x6c]
cmove ecx, eax
mov eax, dword [ebx + 0x70]
sub eax, ecx
push eax
push ebx
call fcn.00418520
push ebx
call fcn.00419250
add esp, 0x14
jmp case.0x41cac1.10545
test dword [ebx], 0x2000
je 0x41e343
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
push eax
test ecx, ecx
mov dword [ebx + 0x1ac], ecx
cmove ecx, eax
mov eax, dword [ebx + 0x6c]
add eax, ecx
push eax
push 0
push ebx
call fcn.00418520
push ebx
call fcn.00419250
add esp, 0x14
jmp case.0x41cac1.10545
test dword [ebx], 0x2000
je 0x41e343
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
push eax
test ecx, ecx
mov dword [ebx + 0x1ac], ecx
cmove ecx, eax
mov eax, dword [ebx + 0x6c]
sub eax, ecx
push eax
push 0
push ebx
call fcn.00418520
push ebx
call fcn.00419250
add esp, 0x14
jmp case.0x41cac1.10545
test dword [ebx], 0x2000
je 0x41e343
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x12c]
cmp eax, ecx
push 0
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x1ac], ecx
push dword [ebx + 0x6c]
cmove ecx, eax
lea eax, [ecx - 1]
push eax
push ebx
call fcn.00418520
push ebx
call fcn.00419250
add esp, 0x14
jmp case.0x41cac1.10545
test dword [ebx], 0x2000
je 0x41e343
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x1ac], ecx
mov eax, dword [ebx + 0x84]
test eax, eax
je 0x41cebe
mov edx, dword [ebx + 0x7c]
jmp 0x41cec0
xor edx, edx
test ecx, ecx
mov esi, 1
cmove ecx, esi
neg eax
sbb eax, eax
and eax, 2
push eax
lea eax, [edx - 1]
add eax, ecx
jmp 0x41ccd8
cmp dword [ebx + 0x22c], 2
jge 0x41cee9
xor esi, esi
jmp 0x41ceef
mov esi, dword [ebx + 0x1b0]
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x1ac], ecx
mov edx, dword [ebx + 0x12c]
cmp esi, edx
cmovbe edx, esi
mov dword [ebx + 0x1b0], edx
mov eax, dword [ebx + 0x84]
test eax, eax
je 0x41cf26
mov esi, dword [ebx + 0x7c]
jmp 0x41cf28
xor esi, esi
test ecx, ecx
mov edi, 1
cmove ecx, edi
test edx, edx
cmove edx, edi
neg eax
sbb eax, eax
and eax, 2
push eax
lea eax, [ecx - 1]
add eax, esi
push eax
lea eax, [edx - 1]
push eax
push ebx
call fcn.00418520
push ebx
call fcn.00419250
add esp, 0x14
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0x1ac]
cmp eax, 3
jne 0x41cf7c
cmp dword [ebx + 0x1154], 0
jne 0x41cf9c
push ebx
call fcn.00419f30
add esp, 4
jmp 0x41cf9c
inc eax
xor ecx, ecx
cmp eax, 3
cmovbe ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
and ecx, 1
push eax
push ecx
push 0
push ebx
call fcn.00417a60
add esp, 0x10
cmp dword [ebx + 0x1168], 0
je 0x41c0f1
push ebx
mov dword [ebx + 0x10], 0
call fcn.00419250
jmp 0x41e729
mov eax, dword [ebx + 0x1ac]
xor ecx, ecx
inc eax
cmp eax, 3
cmovbe ecx, eax
mov eax, ecx
shr ecx, 1
and eax, 1
and ecx, 1
push eax
push ecx
push 1
push ebx
call fcn.00417a60
push ebx
call fcn.00419250
add esp, 0x14
jmp case.0x41cac1.10545
test byte [ebx], 8
je 0x41e343
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x1ac], ecx
mov eax, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x80]
cmp eax, edx
jg 0x41c0f1
test ecx, ecx
mov esi, 1
push 0
cmove ecx, esi
neg ecx
push ecx
push edx
push eax
push ebx
call fcn.00418fb0
add esp, 0x14
push ebx
call fcn.00419250
jmp 0x41e729
test byte [ebx], 8
je 0x41e343
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x1ac], ecx
mov eax, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x80]
cmp eax, edx
jg 0x41c0f1
test ecx, ecx
mov esi, 1
push esi
cmove ecx, esi
push ecx
push edx
push eax
push ebx
call fcn.00418fb0
add esp, 0x14
push ebx
call fcn.00419250
jmp 0x41e729
test byte [ebx], 8
je 0x41e343
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x12c]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x1ac], ecx
cmove ecx, eax
push ecx
push ebx
call fcn.00417d60
push ebx
call fcn.00419250
add esp, 0xc
jmp case.0x41cac1.10545
test byte [ebx], 8
je 0x41e343
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x12c]
cmp eax, ecx
cmovbe ecx, eax
mov eax, 1
test ecx, ecx
mov dword [ebx + 0x1ac], ecx
cmove ecx, eax
neg ecx
jmp 0x41d0bf
test byte [ebx], 2
je 0x41e343
mov edx, dword [ebx + 0x1084]
test edx, edx
je case.0x41cac1.10545
lea esi, [ebx + 0xa40]
mov ecx, esi
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41d124
push 0
sub ecx, edi
push ecx
push esi
push edx
call fcn.00409be0
add esp, 0x10
jmp case.0x41cac1.10545
mov ecx, dword [ebx + 0x1084]
test ecx, ecx
je case.0x41cac1.10545
mov eax, dword [ebx + 0x1ac]
cmp eax, 6
jne 0x41d1a3
mov eax, dword [ebx + 0x70]
inc eax
push eax
mov eax, dword [ebx + 0x6c]
inc eax
push eax
lea eax, [ebp - 0x24]
push str.e__d__dR
push eax
call fcn.00408a10
lea ecx, [ebp - 0x24]
add esp, 0x10
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x41d180
push 0
sub ecx, edx
lea eax, [ebp - 0x24]
push ecx
push eax
push dword [ebx + 0x1084]
call fcn.00409be0
add esp, 0x10
jmp case.0x41cac1.10545
cmp eax, 5
jne case.0x41cac1.10545
push 0
push 4
push str.e_0n
push ecx
call fcn.00409be0
add esp, 0x10
jmp case.0x41cac1.10545
test byte [ebx], 2
je 0x41e343
cmp dword [ebx + 0x22c], 1
jne case.0x41cac1.10545
mov eax, dword [ebx + 0x1ac]
test eax, eax
jne 0x41d1f5
mov ecx, dword [ebx + 0xe40]
mov eax, dword [ebx + 0x70]
mov byte [ecx + eax], 0
jmp case.0x41cac1.10545
cmp eax, 3
jne case.0x41cac1.10545
xor ecx, ecx
cmp dword [ebx + 0x12c], ecx
jle case.0x41cac1.10545
nop dword [eax]
mov eax, dword [ebx + 0xe40]
mov byte [ecx + eax], 0
inc ecx
cmp ecx, dword [ebx + 0x12c]
jl 0x41d210
jmp case.0x41cac1.10545
test byte [ebx], 2
je 0x41e343
mov edi, dword [ebx + 0x22c]
cmp edi, 2
jg case.0x41cac1.10545
mov edx, dword [ebx + 0x128]
mov ecx, edx
mov eax, dword [ebx + 0x1ac]
mov esi, edx
cmp eax, edx
cmovbe ecx, eax
mov eax, dword [ebx + 0x1b0]
cmp eax, edx
mov dword [ebx + 0x1ac], ecx
cmovbe esi, eax
test ecx, ecx
mov eax, 1
mov dword [ebx + 0x1b0], esi
cmove ecx, eax
dec ecx
cmp edi, eax
jle 0x41d27f
test esi, esi
jne 0x41d281
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.0x41cac1.10545
xor eax, eax
mov dword [ebx + 0x7c], ecx
cmp dword [ebx + 0x84], eax
push ebx
cmovne eax, ecx
mov dword [ebx + 0x80], edx
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x6c], eax
call fcn.00419250
jmp 0x41e729
mov ecx, dword [ebx + 0x22c]
xor edx, edx
mov dword [ebp - 0x160], edx
test ecx, ecx
jle 0x41e723
lea eax, [ebx + 0x1b4]
mov dword [ebp - 0x158], eax
lea edi, [ebx + 0x1b0]
lea esi, [ebx + 0x1ac]
nop dword [eax]
mov eax, dword [esi]
cmp eax, 0x6b
ja case.0x41d302.2
movzx eax, byte [eax + 0x41ea20]
jmp dword [eax*4 + 0x41e9c4]
mov eax, dword [ebx + 0x3c]
jmp 0x41d567
test byte [ebx], 4
mov eax, dword [ebp - 0x158]
jne 0x41d32b
mov dword [ebx + 0xe44], 0
jmp 0x41d570
or dword [ebx + 0x40], 0x40000
jmp 0x41d570
test dword [ebx], 0x4000
jne case.0x41d302.4
mov dword [ebx + 0xe44], 0
jmp case.0x41d302.2
test byte [ebx], 4
mov eax, dword [ebp - 0x158]
jne 0x41d368
mov dword [ebx + 0xe44], 0
jmp 0x41d570
or dword [ebx + 0x40], 0x80000
jmp 0x41d570
test byte [ebx], 4
mov eax, dword [ebp - 0x158]
jne 0x41d38e
mov dword [ebx + 0xe44], 0
jmp 0x41d570
or dword [ebx + 0x40], 0x200000
jmp 0x41d570
test dword [ebx], 0x1000
jne 0x41d3b1
mov dword [ebx + 0xe44], 0
jmp case.0x41d302.2
or dword [ebx + 0x40], 0x200000
push ebx
mov dword [ebx + 0xc4], 0
call fcn.0041f440
add esp, 4
jmp case.0x41d302.2
or dword [ebx + 0x40], 0x100000
jmp case.0x41d302.2
test dword [ebx], 0x1000
jne 0x41d3f3
mov dword [ebx + 0xe44], 0
jmp case.0x41d302.2
cmp dword [ebx + 0x1148], 0
mov eax, dword [ebp - 0x158]
jne 0x41d570
mov dword [ebx + 0xd0], 0
jmp 0x41d570
test dword [ebx], 0x1000
jne 0x41d42c
mov dword [ebx + 0xe44], 0
jmp case.0x41d302.2
cmp dword [ebx + 0x1148], 0
mov eax, dword [ebp - 0x158]
jne 0x41d570
mov dword [ebx + 0xd0], 1
jmp 0x41d570
test dword [ebx], 0x1000
jne 0x41d465
mov dword [ebx + 0xe44], 0
jmp case.0x41d302.2
cmp dword [ebx + 0x1148], 0
jne case.0x41d302.2
mov dword [ebx + 0xd0], 2
jmp case.0x41d302.2
test dword [ebx], 0x4010
mov eax, dword [ebp - 0x158]
jne 0x41d49e
mov dword [ebx + 0xe44], 0
jmp 0x41d570
and dword [ebx + 0x40], 0xfffbffff
jmp 0x41d570
test dword [ebx], 0x4010
mov eax, dword [ebp - 0x158]
jne 0x41d4c7
mov dword [ebx + 0xe44], 0
jmp 0x41d570
and dword [ebx + 0x40], 0xfff7ffff
jmp 0x41d570
test dword [ebx], 0x4010
mov eax, dword [ebp - 0x158]
jne 0x41d4f0
mov dword [ebx + 0xe44], 0
jmp 0x41d570
and dword [ebx + 0x40], 0xffdfffff
jmp 0x41d570
test dword [ebx], 0x4010
mov eax, dword [ebp - 0x158]
jne 0x41d513
mov dword [ebx + 0xe44], 0
jmp 0x41d570
and dword [ebx + 0x40], 0xffefffff
jmp 0x41d570
mov ecx, dword [ebx + 0x40]
and ecx, 0xfffffe00
mov dword [ebx + 0x40], ecx
mov eax, dword [esi]
sub eax, 0x1e
jmp 0x41d565
mov ecx, dword [ebx + 0x40]
and ecx, 0xfffffe00
mov dword [ebx + 0x40], ecx
mov eax, dword [esi]
sub eax, 0x52
jmp 0x41d565
mov eax, dword [ebx + 0x40]
and eax, 0xffffff00
or eax, 0x100
jmp 0x41d567
mov ecx, dword [ebx + 0x40]
and ecx, 0xfffc01ff
mov dword [ebx + 0x40], ecx
mov eax, dword [esi]
sub eax, 0x28
shl eax, 9
or eax, ecx
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x158]
inc dword [ebp - 0x160]
add eax, 4
mov ecx, dword [ebx + 0x22c]
add esi, 4
mov edx, dword [ebp - 0x160]
add edi, 4
mov dword [ebp - 0x158], eax
cmp edx, ecx
jl 0x41d2f0
jmp 0x41e723
mov ecx, dword [ebx + 0x40]
and ecx, 0xfffc01ff
mov dword [ebx + 0x40], ecx
mov eax, dword [esi]
sub eax, 0x5c
jmp 0x41d562
mov eax, dword [ebx + 0x40]
and eax, 0xfffe05ff
or eax, 0x20400
jmp 0x41d567
add edx, 2
cmp edx, ecx
jge case.0x41d302.2
cmp dword [edi], 5
mov eax, dword [ebp - 0x158]
jne 0x41d570
mov ecx, dword [ebx + 0x40]
add esi, 8
and ecx, 0xfffffe00
mov dword [ebp - 0x160], edx
mov dword [ebx + 0x40], ecx
add edi, 8
movzx eax, byte [eax]
or eax, ecx
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x158]
add eax, 8
jmp 0x41d570
add edx, 2
cmp edx, ecx
jge case.0x41d302.2
cmp dword [edi], 5
mov eax, dword [ebp - 0x158]
jne 0x41d570
mov ecx, dword [ebx + 0x40]
add esi, 8
and ecx, 0xfffc01ff
mov dword [ebp - 0x160], edx
mov dword [ebx + 0x40], ecx
add edi, 8
movzx eax, byte [eax]
shl eax, 9
or eax, ecx
mov dword [ebx + 0x40], eax
mov eax, dword [ebp - 0x158]
add eax, 8
jmp 0x41d570
mov ecx, dword [ebx + 0x22c]
cmp ecx, 1
jg 0x41d6ae
mov eax, dword [ebx + 0x1ac]
cmp eax, 1
jb 0x41d666
cmp eax, 0x18
jb 0x41d6a5
test dword [ebx], 0x100
je 0x41e343
cmp dword [ebx + 0x114c], 0
jne 0x41d69a
test eax, eax
mov ecx, 0x18
cmove eax, ecx
push eax
push dword [ebx + 0x12c]
push dword [ebx + 0x1088]
call fcn.0042f490
add esp, 0xc
push ebx
call fcn.00416ed0
jmp 0x41e729
cmp ecx, 1
jl case.0x41cac1.10545
mov eax, dword [ebx + 0x1ac]
dec eax
cmp eax, 0x16
ja case.0x41cac1.10545
test dword [ebx], 0x4000
je 0x41e343
cmp eax, 0x14
ja case.0x41cac1.10545
jmp dword [eax*4 + 0x41ea8c]
push 0
push dword [ebx + 0x1088]
call fcn.0042fcb0
add esp, 8
jmp case.0x41cac1.10545
push 1
push dword [ebx + 0x1088]
call fcn.0042fcb0
add esp, 8
jmp case.0x41cac1.10545
cmp ecx, 3
jl case.0x41cac1.10545
cmp dword [ebx + 0x114c], 0
jne case.0x41cac1.10545
push dword [ebx + 0x1b4]
push dword [ebx + 0x1b0]
push dword [ebx + 0x1088]
call fcn.0042eff0
add esp, 0xc
jmp case.0x41cac1.10545
push 1
push dword [ebx + 0x1088]
call fcn.0042fed0
add esp, 8
jmp case.0x41cac1.10545
push 0
push dword [ebx + 0x1088]
call fcn.0042fed0
add esp, 8
jmp case.0x41cac1.10545
push dword [ebx + 0x1088]
call fcn.0042f440
jmp 0x41e729
cmp ecx, 3
jl case.0x41cac1.10545
cmp dword [ebx + 0x114c], 0
jne case.0x41cac1.10545
mov ecx, dword [ebx + 0x1b0]
test ecx, ecx
jne 0x41d799
mov ecx, dword [ebx + 0x110c]
mov eax, dword [ebx + 0x1b4]
test eax, eax
jne 0x41d7a9
mov eax, dword [ebx + 0x1110]
push ecx
push eax
push dword [ebx + 0x1088]
call fcn.0042f490
add esp, 0xc
jmp case.0x41cac1.10545
cmp ecx, 2
jl case.0x41cac1.10545
xor eax, eax
cmp dword [ebx + 0x1b0], eax
setne al
push eax
push dword [ebx + 0x1088]
call fcn.0042fe90
add esp, 8
jmp case.0x41cac1.10545
cmp dword [ebx + 0x1084], 0
je case.0x41cac1.10545
push 0
push 4
push dword [ebx + 0x1088]
call fcn.0042eeb0
add esp, 4
mov ecx, str.e_2t
test eax, eax
mov eax, str.e_1t
cmove ecx, eax
push ecx
push dword [ebx + 0x1084]
call fcn.00409be0
add esp, 0x10
jmp case.0x41cac1.10545
cmp dword [ebx + 0x1084], 0
je case.0x41cac1.10545
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x170]
push eax
push dword [ebx + 0x1088]
call fcn.0042e6d0
push dword [ebp - 0x174]
push dword [ebp - 0x170]
push str.e_3__u__ut
jmp 0x41d898
cmp dword [ebx + 0x1084], 0
je case.0x41cac1.10545
lea eax, [ebp - 0x174]
push eax
lea eax, [ebp - 0x170]
push eax
push dword [ebx + 0x1088]
call fcn.0042e680
push dword [ebp - 0x170]
push dword [ebp - 0x174]
push str.e_4__d__dt
lea eax, [ebp - 0x54]
push eax
call fcn.00408a10
push 0
push eax
lea eax, [ebp - 0x54]
push eax
push dword [ebx + 0x1084]
call fcn.00409be0
add esp, 0x2c
jmp case.0x41cac1.10545
cmp dword [ebx + 0x1084], 0
je case.0x41cac1.10545
push dword [ebx + 0x12c]
lea eax, [ebp - 0x54]
push dword [ebx + 0x128]
push str.e_8__d__dt
push eax
call fcn.00408a10
push 0
push eax
lea eax, [ebp - 0x54]
push eax
push dword [ebx + 0x1084]
call fcn.00409be0
add esp, 0x20
jmp case.0x41cac1.10545
cmp dword [ebx + 0x1084], 0
je case.0x41cac1.10545
mov eax, dword [ebx + 0x1160]
test eax, eax
je case.0x41cac1.10545
cmp eax, 2
jne 0x41d930
push 1
push dword [ebx + 0x1088]
call fcn.0042e720
add esp, 8
mov edi, eax
jmp 0x41d936
mov edi, dword [0x4b76c8]
mov esi, edi
lea ecx, [esi + 1]
nop dword [eax + eax]
mov al, byte [esi]
inc esi
test al, al
jne 0x41d940
push 0
push 3
push 0x4a2e70
push dword [ebx + 0x1084]
sub esi, ecx
call fcn.00409be0
push 0
push esi
push edi
push dword [ebx + 0x1084]
call fcn.00409be0
push 0
push 2
push 0x4a2e74
push dword [ebx + 0x1084]
call fcn.00409be0
add esp, 0x30
jmp case.0x41cac1.10545
cmp dword [ebx + 0x1084], 0
je case.0x41cac1.10545
mov eax, dword [ebx + 0x1160]
test eax, eax
je case.0x41cac1.10545
cmp eax, 2
jne 0x41d9bc
push 0
push dword [ebx + 0x1088]
call fcn.0042e720
add esp, 8
mov edi, eax
jmp 0x41d9c2
mov edi, dword [0x4b76c8]
mov esi, edi
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x41d9c7
push 0
push 3
push 0x4a2e78
jmp 0x41d950
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x1ac], ecx
test dword [ebx], 0x1000
je 0x41e343
test ecx, ecx
mov eax, 1
cmove ecx, eax
push 1
push ecx
push dword [ebx + 0x80]
push dword [ebx + 0x7c]
push ebx
call fcn.00418fb0
push ebx
mov dword [ebx + 0x8c], 0
call fcn.00419250
add esp, 0x18
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0x1ac]
mov ecx, dword [ebx + 0x128]
cmp eax, ecx
cmovbe ecx, eax
mov dword [ebx + 0x1ac], ecx
test dword [ebx], 0x1000
je 0x41e343
test ecx, ecx
mov eax, 1
cmove ecx, eax
neg ecx
jmp 0x41da09
test byte [ebx], 1
je 0x41e343
mov eax, dword [ebx + 0x1ac]
mov esi, dword [ebx + 0x12c]
cmp eax, esi
push 1
cmovbe esi, eax
mov eax, 1
mov dword [ebx + 0x1ac], esi
test esi, esi
push 0x1035
push dword [ebx + 0x6c]
cmove esi, eax
mov eax, dword [ebx + 0x70]
push ebx
mov dword [ebp - 0x158], eax
call fcn.00417f60
mov ecx, dword [ebx + 0x12c]
sub ecx, dword [ebx + 0x70]
mov edi, dword [ebx + 0x6c]
cmp esi, ecx
mov dword [ebp - 0x18c], eax
mov eax, dword [ebx + 0x70]
cmovle ecx, esi
push edi
push eax
push ebx
mov dword [ebp - 0x160], ecx
lea esi, [eax + ecx]
call fcn.00416620
push dword [ebx + 0x6c]
mov eax, dword [ebx + 0x70]
add eax, dword [ebp - 0x160]
push eax
push ebx
call fcn.00416620
push esi
push edi
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push ebx
call fcn.004166f0
mov esi, dword [ebp - 0x160]
add esp, 0x3c
test esi, esi
je 0x41c0f1
mov edi, dword [ebp - 0x158]
lea eax, [ebx + 0x54]
mov dword [ebp - 0x160], eax
mov ebx, eax
push ebx
push edi
push dword [ebp - 0x18c]
call fcn.00416d70
add esp, 0xc
inc edi
sub esi, 1
jne 0x41db15
mov ebx, dword [ebp - 0x180]
push ebx
call fcn.00419250
jmp 0x41e729
test byte [ebx], 2
je 0x41e343
mov edx, dword [ebx + 0x1084]
test edx, edx
je case.0x41cac1.10545
mov ecx, dword [ebx + 0x1ac]
test ecx, ecx
je 0x41db66
cmp ecx, 1
jne case.0x41cac1.10545
movups xmm0, xmmword [0x4a2e7f]
mov eax, 0x5b1b
add cl, 0x32
mov word [ebp - 0x24], ax
mov ax, word [0x4a2e8f]
push 0
mov word [ebp - 0x11], ax
lea eax, [ebp - 0x24]
push 0x14
push eax
push edx
movups xmmword [ebp - 0x21], xmm0
mov byte [ebp - 0x22], cl
call fcn.00409be0
add esp, 0x10
jmp case.0x41cac1.10545
test dword [ebx], 0x4000
je 0x41e343
mov eax, dword [ebx + 0x1ac]
mov esi, dword [ebx + 0x12c]
cmp eax, esi
cmovbe esi, eax
mov dword [ebx + 0x1ac], esi
mov edi, dword [ebx + 0x6c]
mov edx, dword [ebx + 0x70]
test esi, esi
jne 0x41dbda
mov esi, 1
mov dword [ebp - 0x160], edx
jmp 0x41dbe6
mov eax, edx
mov dword [ebp - 0x160], eax
test esi, esi
jle 0x41dc11
test edx, edx
jle 0x41dc0b
mov ecx, edx
nop dword [eax]
dec ecx
mov dword [ebx + 0x70], ecx
mov edx, ecx
test ecx, ecx
jle 0x41dc06
mov eax, dword [ebx + 0xe40]
cmp byte [ecx + eax], 0
je 0x41dbf0
dec esi
test esi, esi
jg 0x41dbe6
mov eax, dword [ebp - 0x160]
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push eax
push edi
push ebx
call fcn.004166f0
add esp, 0x14
jmp case.0x41cac1.10545
test byte [ebx], 2
je 0x41e343
xor edi, edi
cmp dword [ebx + 0x22c], edi
jle case.0x41cac1.10545
lea esi, [ebx + 0x1ac]
push 1
push dword [ebx + 0x230]
push dword [esi]
push ebx
call fcn.0041fd10
inc edi
lea esi, [esi + 4]
add esp, 0x10
cmp edi, dword [ebx + 0x22c]
jl 0x41dc44
jmp case.0x41cac1.10545
cmp eax, 0x3d43
ja 0x41df75
je 0x41df42
cmp eax, 0x2270
ja 0x41deb8
je 0x41dd74
sub eax, 0x169
je case.0x41cca9.105
sub eax, 3
jne case.0x41cac1.10545
test byte [ebx], 2
je 0x41e343
xor edi, edi
cmp dword [ebx + 0x22c], edi
jle case.0x41cac1.10545
lea esi, [ebx + 0x1ac]
nop word [eax + eax]
push 0
push dword [ebx + 0x230]
push dword [esi]
push ebx
call fcn.0041fd10
inc edi
lea esi, [esi + 4]
add esp, 0x10
cmp edi, dword [ebx + 0x22c]
jl 0x41dcc0
jmp case.0x41cac1.10545
test byte [ebx], 2
je 0x41e343
cmp dword [ebx + 0x22c], 1
jne case.0x41cac1.10545
cmp dword [ebx + 0x1ac], 5
jne 0x41dd4f
push 0x81
push dword [ebx + 0x1094]
call fcn.00403150
add esp, 8
cmp byte [eax], 0
je 0x41dd4f
xor ecx, ecx
mov dword [ebx + 0xec], 1
cmp dword [ebx + 0x230], ecx
push eax
sete cl
mov dword [ebx + 0xf4], 0
push ebx
mov dword [ebx + 0xf0], ecx
call fcn.0041ef80
add esp, 8
jmp case.0x41cac1.10545
cmp dword [ebx + 0x1ac], 4
jne case.0x41cac1.10545
cmp dword [ebx + 0xec], 0
je case.0x41cac1.10545
push ebx
call fcn.0041ee40
jmp 0x41e729
mov ecx, dword [ebx + 0x1ac]
cmp ecx, 0x3e
ja case.0x41dd86.1
movzx eax, byte [ecx + 0x41eafc]
jmp dword [eax*4 + 0x41eae0]
mov eax, dword [ebx]
and eax, 0xfffffe0f
or eax, 0xf
mov dword [ebx], eax
jmp case.0x41dd86.50
mov eax, dword [ebx]
and eax, 0xfffffe1f
or eax, 0x1f
mov dword [ebx], eax
jmp case.0x41dd86.50
and dword [ebx], 0x1ff
jmp case.0x41dd86.50
mov dword [ebx], 0x1001
jmp case.0x41dd86.50
mov dword [ebx], 0xffff
jmp case.0x41dd86.50
cmp ecx, 0x3c
jbe case.0x41dd86.50
cmp ecx, 0x46
jae case.0x41dd86.50
or dword [ebx], 0x1ff
cmp ecx, 0x32
jne case.0x41cac1.10545
mov eax, 1
mov dword [ebx + 0xa40], 0x3f5b1b
lea edi, [ebx + 0xa40]
mov dword [ebp - 0x160], eax
cmp dword [ebx + 0x22c], eax
jle 0x41de95
lea ecx, [ebx + 0x1b0]
mov dword [ebp - 0x158], ecx
nop dword [eax]
cmp eax, 1
je 0x41de2f
dec edi
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x41de16
mov ax, word [0x4a2e94]
mov word [edi], ax
lea edi, [ebx + 0xa40]
push dword [ecx]
lea eax, [ebp - 0x44]
push 0x4a2e98
push eax
call fcn.00408a10
lea edx, [ebp - 0x44]
add esp, 0xc
mov esi, edx
mov al, byte [edx]
inc edx
test al, al
jne 0x41de47
sub edx, esi
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x41de51
mov eax, dword [ebp - 0x160]
mov ecx, edx
shr ecx, 2
inc eax
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
mov dword [ebp - 0x160], eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebp - 0x158]
lea edi, [ebx + 0xa40]
add ecx, 4
mov dword [ebp - 0x158], ecx
cmp eax, dword [ebx + 0x22c]
jl 0x41de10
lea edi, [ebx + 0xa3f]
nop dword [eax + eax]
mov al, byte [edi + 1]
lea edi, [edi + 1]
test al, al
jne 0x41dea0
mov ax, word [0x4a2e9c]
mov word [edi], ax
jmp case.0x41cac1.10545
cmp eax, 0x247c
je 0x41df00
cmp eax, 0x2a7c
jne case.0x41cac1.10545
test byte [ebx], 0x40
je 0x41e343
cmp dword [ebx + 0x22c], 1
jne case.0x41cac1.10545
mov eax, dword [ebx + 0x1ac]
test eax, eax
je case.0x41cac1.10545
cmp dword [ebx + 0x114c], 0
jne 0x41d69a
jmp 0x41d685
test dword [ebx], 0x100
je 0x41e343
cmp dword [ebx + 0x22c], 1
jg case.0x41cac1.10545
cmp dword [ebx + 0x114c], 0
jne 0x41d69a
mov eax, dword [ebx + 0x1ac]
test eax, eax
jne 0x41df36
mov eax, dword [ebx + 0x1110]
push dword [ebx + 0x128]
push eax
jmp 0x41d68c
test dword [ebx], 0x1000
je 0x41e343
cmp dword [ebx + 0x22c], 2
jl case.0x41cac1.10545
mov eax, dword [ebx + 0x1ac]
cmp dword [ebx + 0x1b0], eax
sbb eax, eax
inc eax
mov dword [ebx + 0xb0], eax
jmp case.0x41cac1.10545
cmp eax, 0x3d4c
ja 0x41e0bd
je 0x41e09b
sub eax, 0x3d44
cmp eax, 3
ja case.0x41cac1.10545
jmp dword [eax*4 + 0x41eb3c]
test dword [ebx], 0x1000
je 0x41e343
push ebx
mov dword [ebx + 0xc4], 0
call fcn.0041f440
add esp, 4
cmp dword [ebx + 0x1ac], 1
jb 0x41dfcf
or dword [ebx + 0x40], 0x200000
jmp case.0x41cac1.10545
and dword [ebx + 0x40], 0xffdfffff
jmp case.0x41cac1.10545
test dword [ebx], 0x1000
je 0x41e343
cmp dword [ebx + 0x1ac], 1
push ebx
sbb eax, eax
inc eax
mov dword [ebx + 0xc4], eax
call fcn.0041f440
jmp 0x41e729
test dword [ebx], 0x1000
je 0x41e343
mov edx, dword [ebx + 0x1ac]
cmp edx, 0x10
jae case.0x41cac1.10545
mov eax, edx
and edx, 8
and eax, 7
movsx ecx, byte [eax + 0x4a2b88]
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 0x41e723
test dword [ebx], 0x1000
je 0x41e343
mov edx, dword [ebx + 0x1ac]
cmp edx, 0x10
jae case.0x41cac1.10545
mov eax, edx
and edx, 8
and eax, 7
movsx ecx, byte [eax + 0x4a2b88]
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 0x41e723
test dword [ebx], 0x1000
je 0x41e343
xor eax, eax
cmp eax, dword [ebx + 0x1ac]
sbb eax, eax
inc eax
mov dword [ebx + 0xb8], eax
jmp 0x41e723
cmp eax, 0x3d63
je 0x41e100
cmp eax, 0x3e63
jne case.0x41cac1.10545
test dword [ebx], 0x4000
je 0x41e343
mov eax, dword [ebx + 0x1084]
test eax, eax
je case.0x41cac1.10545
push 0
push 0xb
push str.e__0_136_0c
push eax
call fcn.00409be0
add esp, 0x10
jmp case.0x41cac1.10545
test dword [ebx], 0x1000
jne 0x41e117
mov dword [ebx + 0xe44], 0
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0x1ac]
sub eax, 0
je case.0x41e3cd.102
sub eax, 1
je 0x41e149
sub eax, 1
jne case.0x41cac1.10545
mov dword [ebx + 0x158], 1
mov dword [ebx + 0xb0], 1
jmp case.0x41cac1.10545
mov dword [ebx + 0x158], 0
mov dword [ebx + 0xb0], 1
jmp case.0x41cac1.10545
mov dword [ebx + 0xb0], 0
jmp case.0x41cac1.10545
lea eax, [edx - 0x30]
mov dword [ebx + 0xa3c], 0
cmp eax, 0x27
ja case.0x41e18e.58
movzx eax, byte [eax + 0x41eb64]
jmp dword [eax*4 + 0x41eb4c]
mov dword [ebx + 0xe44], 6
mov dword [ebx + 0x234], 0
jmp case.0x41cac1.10545
push dword [ebx + 0x1088]
call fcn.0042f140
push ebx
call fcn.0041af90
add esp, 8
mov dword [ebx + 0xe44], 0
jmp case.0x41cac1.10545
mov dword [ebx + 0xe44], 4
mov dword [ebx + 0xa3c], 1
jmp case.0x41cac1.10545
or eax, 0xffffffff
mov dword [ebx + 0x1ac], eax
jmp case.0x41cac1.10545
cmp dword [ebx + 0x1ac], 2
jne case.0x41e18e.58
mov dword [ebx + 0x1ac], 1
jmp case.0x41cac1.10545
mov dword [ebx + 0xe44], 7
mov dword [ebx + 0x234], 0
jmp case.0x41cac1.10545
cmp edx, 0xa
je 0x41e343
cmp edx, 0xd
je 0x41e343
cmp edx, 0x9c
je 0x41c5aa
cmp edx, 7
je 0x41c5aa
cmp edx, 0x1b
jne 0x41e264
mov dword [ebx + 0xe44], 8
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0x234]
cmp eax, 0x800
jge case.0x41cac1.10545
mov byte [eax + ebx + 0x238], dl
inc dword [ebx + 0x234]
jmp case.0x41cac1.10545
mov ecx, dword [ebx + 0x234]
lea eax, [edx - 0x30]
cmp eax, 9
jbe 0x41e2d1
cmp edx, 0x41
jl 0x41e2b2
test ecx, ecx
mov eax, 0x46
mov esi, 0x4c
cmove eax, esi
cmp edx, eax
jg 0x41e2b2
lea eax, [edx - 0x37]
jmp 0x41e2d1
cmp edx, 0x61
jl 0x41e343
test ecx, ecx
mov eax, 0x66
mov esi, 0x6c
cmove eax, esi
cmp edx, eax
jg 0x41e343
lea eax, [edx - 0x57]
mov byte [ecx + ebx + 0x238], al
inc dword [ebx + 0x234]
cmp dword [ebx + 0x234], 7
jl case.0x41cac1.10545
movsx ecx, byte [ebx + 0x23d]
movsx eax, byte [ebx + 0x23e]
shl ecx, 4
add ecx, eax
movsx eax, byte [ebx + 0x23c]
push ecx
movsx ecx, byte [ebx + 0x23b]
shl ecx, 4
add ecx, eax
movsx eax, byte [ebx + 0x23a]
push ecx
movsx ecx, byte [ebx + 0x239]
shl ecx, 4
add ecx, eax
movsx eax, byte [ebx + 0x238]
push ecx
push eax
push dword [ebx + 0x1088]
call fcn.0042f210
push ebx
call fcn.0041af90
add esp, 0x18
mov dword [ebx + 0xe44], 0
jmp case.0x41cac1.10545
lea eax, [edx - 0x30]
cmp eax, 9
ja case.0x41e18e.58
movzx eax, byte [eax + 0x41eb90]
jmp dword [eax*4 + 0x41eb8c]
mov eax, dword [ebx + 0x1ac]
cmp eax, 0x19999999
ja 0x41e1ea
lea ecx, [eax + eax*4]
mov eax, 0xffffffcf
add ecx, ecx
sub eax, edx
cmp ecx, eax
ja 0x41e1ea
lea eax, [edx - 0x30]
add eax, ecx
mov dword [ebx + 0x1ac], eax
jmp case.0x41cac1.10545
push ebx
mov dword [ebx + 0xe44], 0
call fcn.00419250
mov eax, dword [ebp - 0x15c]
add esp, 4
add eax, 0xffffffc4
cmp eax, 0x3b
ja case.0x41cac1.10545
movzx eax, byte [eax + 0x41ec28]
jmp dword [eax*4 + 0x41eb9c]
mov eax, dword [ebx + 0x6c]
push 1
dec eax
push eax
push dword [ebx + 0x70]
push ebx
call fcn.00418520
add esp, 0x10
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0x6c]
push 1
inc eax
push eax
push dword [ebx + 0x70]
push ebx
call fcn.00418520
add esp, 0x10
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0x70]
push 1
push dword [ebx + 0x6c]
inc eax
push eax
push ebx
call fcn.00418520
add esp, 0x10
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0x70]
push 1
push dword [ebx + 0x6c]
dec eax
push eax
push ebx
call fcn.00418520
add esp, 0x10
jmp case.0x41cac1.10545
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x170], 0xd900
jmp case.0x41cac1.10545
mov dword [ebx + 0x94], 0
mov dword [ebx + 0x170], 0xd800
jmp case.0x41cac1.10545
push 0
push 0
push 0
push ebx
call fcn.00418520
add esp, 0x10
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0x6c]
test eax, eax
jne 0x41e4a7
mov eax, dword [ebx + 0x128]
push 1
push 0xffffffffffffffff
dec eax
push eax
push 0
push ebx
call fcn.00418fb0
add esp, 0x14
mov dword [ebx + 0x8c], 0
jmp case.0x41cac1.10545
jle 0x41e4ad
dec eax
mov dword [ebx + 0x6c], eax
mov dword [ebx + 0x8c], 0
jmp case.0x41cac1.10545
push 1
push 0
push 0
push ebx
call fcn.00417a60
add esp, 0x10
cmp dword [ebx + 0x1168], 0
je case.0x41cac1.10545
mov dword [ebx + 0x10], 0
jmp case.0x41cac1.10545
push 1
push 0
push 1
push ebx
call fcn.00417a60
add esp, 0x10
jmp case.0x41cac1.10545
mov dword [ebx + 0xe44], 0xa
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0x1084]
test eax, eax
je case.0x41cac1.10545
push 0
push 3
push 0x4a2ea0
push eax
call fcn.00409be0
add esp, 0x10
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0x1104]
push ebx
mov dword [ebx + 0x148], 0
mov dword [ebx + 0xc4], eax
call fcn.0041f440
jmp 0x41e729
push 0
push 0
push 0
push ebx
call fcn.00418520
push 1
push 0
push 0
push ebx
call fcn.00417a60
add esp, 0x20
cmp dword [ebx + 0x1168], 0
je case.0x41cac1.10545
mov dword [ebx + 0x10], 0
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x80]
cmp eax, ecx
jg case.0x41cac1.10545
push 0
push 0xffffffffffffffff
push ecx
push eax
push ebx
call fcn.00418fb0
add esp, 0x14
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0x6c]
mov ecx, dword [ebx + 0x80]
cmp eax, ecx
jg case.0x41cac1.10545
push 1
push 1
push ecx
push eax
push ebx
call fcn.00418fb0
add esp, 0x14
jmp case.0x41cac1.10545
mov dword [ebx + 0xe44], 0xc
jmp case.0x41cac1.10545
mov dword [ebx + 0xe44], 0xd
jmp case.0x41cac1.10545
push 0
push 1
jmp 0x41e4c0
push 1
push 1
push 1
push ebx
call fcn.00417a60
add esp, 0x10
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x8c], 0
jmp case.0x41cac1.10545
push 0
push 1
push 1
push ebx
call fcn.00417a60
add esp, 0x10
jmp case.0x41cac1.10545
or dword [ebx + 0x40], 0x100000
jmp case.0x41cac1.10545
and dword [ebx + 0x40], 0xffefffff
jmp case.0x41cac1.10545
mov dword [ebx + 0x88], 1
jmp case.0x41cac1.10545
mov dword [ebx + 0x88], 0
jmp case.0x41cac1.10545
mov dword [ebx + 0xd8], 0
mov dword [ebx + 0x40], 0x20500
jmp 0x41e723
or dword [ebx + 0x40], 0x80000
jmp case.0x41cac1.10545
and dword [ebx + 0x40], 0xfff7ffff
jmp case.0x41cac1.10545
or dword [ebx + 0x40], 0x40000
mov dword [ebx + 0xd8], 1
jmp case.0x41cac1.10545
and dword [ebx + 0x40], 0xfffbffff
mov dword [ebx + 0xd8], 0
jmp case.0x41cac1.10545
push 0
lea eax, [edx - 0x20]
mov dword [ebx + 0xe44], 0xb
push eax
push dword [ebx + 0x70]
push ebx
call fcn.00418520
add esp, 0x10
jmp case.0x41cac1.10545
push 0
push dword [ebx + 0x6c]
lea eax, [edx - 0x20]
mov dword [ebx + 0xe44], 0
push eax
push ebx
call fcn.00418520
add esp, 0x10
jmp case.0x41cac1.10545
mov eax, dword [ebx + 0x40]
and edx, 0xf
and eax, 0xfffbfe00
or eax, edx
mov dword [ebx + 0x40], eax
jmp 0x41e719
mov eax, dword [ebx + 0x40]
and edx, 0xf
shl edx, 9
and eax, 0xffdc01ff
or edx, eax
mov dword [ebx + 0x40], edx
mov dword [ebx + 0xe44], 0
push ebx
call fcn.00419630
add esp, 4
cmp dword [ebx + 0xe48], 0
lea edi, [ebx + 0x60]
mov esi, dword [ebp - 0x168]
mov eax, dword [ebp - 0x164]
je 0x41b790
mov ecx, dword [ebx + 0x70]
mov eax, dword [ebx + 0x6c]
cmp ecx, dword [ebx + 0x12c]
jne 0x41e75b
xor ecx, ecx
inc eax
jmp 0x41e75c
inc ecx
push ecx
push eax
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push ebx
call fcn.004166f0
mov esi, dword [ebp - 0x168]
add esp, 0x14
mov eax, dword [ebp - 0x164]
jmp 0x41b786
push ebx
call fcn.0041ef10
add esp, 4
cmp dword [ebx + 0x1124], 0
je 0x41e7a3
mov eax, dword [ebx + 0x108c]
test eax, eax
je 0x41e7a3
push eax
call fcn.0040acd0
add esp, 4
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00439c24
mov esp, ebp
pop ebp
ret