Function at 0x4110f0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x42ba66
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x2b8
mov eax, dword [0x467c30]
xor eax, dword [ebp + 4]
push ebx
mov dword [esp + 0x2b4], eax
mov al, byte [0x4642ab]
test al, al
push esi
push edi
mov esi, ecx
je 0x41114f
mov ecx, dword [esi + 4]
call fcn.00406240
test eax, eax
jne 0x41114f
mov ecx, dword [esi + 4]
call fcn.004062d0
mov dword [esi + 0x8074], eax
mov byte [0x4642ab], 0
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004062f0
mov edi, eax
cmp edi, 0x21
jg 0x41121c
je 0x4111f9
lea eax, [edi + 1]
cmp eax, 0x21
ja case.0x411231.49
movzx eax, byte [eax + 0x41676c]
jmp dword [eax*4 + 0x416750]
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004062f0
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004062f0
mov ecx, dword [esi + 4]
push eax
call fcn.00406500
xor al, al
jmp 0x41672b
push 0xffffffffffffffff
jmp 0x411202
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004062f0
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
mov edi, eax
call fcn.004062f0
mov ecx, dword [esi + 4]
push eax
push edi
call fcn.004065a0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.00406660
mov byte [0x4642ab], 1
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004062f0
mov ecx, dword [esi + 4]
push eax
call fcn.004065a0
xor al, al
jmp 0x41672b
lea eax, [edi - 0x30]
cmp eax, 0xf0
ja case.0x411231.49
movzx ecx, byte [eax + 0x4167ac]
jmp dword [ecx*4 + 0x416790]
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004062f0
lea ecx, [eax - 1]
cmp ecx, 0x14
ja case.default.0x41124e
jmp dword [ecx*4 + 0x4168a0]
mov ecx, dword [esi + 4]
push 0
call fcn.00406df0
test al, al
mov ecx, dword [esi + 4]
je 0x411287
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
add eax, edi
push eax
call fcn.004064b0
xor al, al
jmp 0x41672b
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov dword [esp + 0x2cc], 0
call fcn.00407240
push eax
lea ecx, [esp + 0x80]
call fcn.00404da0
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x80]
push eax
lea ecx, [esp + 0x140]
push ecx
mov byte [esp + 0x2d8], 1
call fcn.00410fd0
add esp, 0xc
cmp dword [eax + 0x18], 0x10
mov byte [esp + 0x2cc], 2
jb 0x4112ee
mov eax, dword [eax + 4]
jmp 0x4112f1
add eax, 4
mov ecx, dword [esi + 4]
push eax
call fcn.00406550
lea ecx, [esp + 0x138]
call fcn.004095f0
jmp 0x411592
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
sub eax, edi
push eax
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
neg eax
push eax
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
xor edx, edx
test eax, eax
sete dl
push edx
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
imul eax, edi
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
cdq
idiv edi
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
cdq
idiv edi
mov ecx, dword [esi + 4]
push edx
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
xor ecx, ecx
cmp eax, edi
setl cl
push ecx
mov ecx, dword [esi + 4]
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
xor edx, edx
cmp eax, edi
setle dl
push edx
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
xor ecx, ecx
cmp eax, edi
setg cl
push ecx
mov ecx, dword [esi + 4]
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
xor edx, edx
cmp eax, edi
setge dl
push edx
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
push 0
call fcn.00406df0
test al, al
mov ecx, dword [esi + 4]
je 0x4114b2
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
xor ecx, ecx
cmp eax, edi
sete cl
push ecx
mov ecx, dword [esi + 4]
call fcn.004064b0
xor al, al
jmp 0x41672b
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov dword [esp + 0x2cc], 3
call fcn.00407240
push eax
lea ecx, [esp + 0x80]
call fcn.00404da0
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x80]
push eax
mov byte [esp + 0x2d4], 4
call fcn.00410b90
jmp 0x411580
mov ecx, dword [esi + 4]
push 0
call fcn.00406df0
test al, al
mov ecx, dword [esi + 4]
je 0x411537
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
xor ecx, ecx
cmp eax, edi
setne cl
push ecx
mov ecx, dword [esi + 4]
call fcn.004064b0
xor al, al
jmp 0x41672b
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov dword [esp + 0x2cc], 5
call fcn.00407240
push eax
lea ecx, [esp + 0x80]
call fcn.00404da0
lea edx, [esp + 0x2c]
push edx
lea eax, [esp + 0x80]
push eax
mov byte [esp + 0x2d4], 6
call fcn.00410bc0
mov ecx, dword [esi + 4]
add esp, 8
neg al
sbb eax, eax
neg eax
push eax
call fcn.004064b0
lea ecx, [esp + 0x7c]
call fcn.004095f0
lea ecx, [esp + 0x2c]
call fcn.004095f0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
test eax, eax
je 0x4115da
test edi, edi
je 0x4115da
mov ecx, dword [esi + 4]
mov eax, 1
push eax
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
xor eax, eax
push eax
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
test eax, eax
jne 0x411616
test edi, edi
jne 0x411616
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
mov eax, 1
push eax
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
push 0
call fcn.00406df0
test al, al
mov ecx, dword [esi + 4]
je 0x411676
call fcn.004071d0
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004065f0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
push ebx
mov edi, eax
push edx
push edi
call fcn.00406f70
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
push eax
push edi
call fcn.004065a0
xor al, al
jmp 0x41672b
push 0
call fcn.00406eb0
test al, al
mov ecx, dword [esi + 4]
je 0x4116be
call fcn.004071d0
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004065f0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
push ebx
mov edi, eax
push edx
push edi
call fcn.00406ff0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
push eax
push edi
call fcn.004065a0
xor al, al
jmp 0x41672b
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
lea ecx, [esp + 0x1c]
push ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x2d0], 7
call fcn.004065f0
mov edi, eax
cmp dword [esp + 0x44], 0x10
mov eax, dword [esp + 0x30]
jae 0x4116f6
lea eax, [esp + 0x30]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
push eax
push edx
push edi
call fcn.00406fb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
push eax
push edi
call fcn.004065a0
lea ecx, [esp + 0x2c]
call fcn.004095f0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004071d0
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x14], eax
call fcn.004065f0
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 4]
push 0
mov ebx, eax
push edx
push ebx
call fcn.00406ac0
mov ecx, dword [esi + 4]
push eax
call fcn.00407100
mov ecx, dword [esp + 0x10]
mov edi, eax
add edi, ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 4]
push edi
push eax
push ebx
call fcn.00406f70
mov ecx, dword [esi + 4]
push edi
call fcn.004064b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004071d0
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x14], eax
call fcn.004065f0
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 4]
push 0
mov ebx, eax
push edx
push ebx
call fcn.00406ac0
mov ecx, dword [esi + 4]
push eax
call fcn.00407100
mov ecx, dword [esp + 0x10]
mov edi, eax
sub edi, ecx
jmp 0x41175f
mov ecx, dword [esi + 4]
call fcn.004071d0
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x14], eax
call fcn.004065f0
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 4]
push 0
mov ebx, eax
push edx
push ebx
call fcn.00406ac0
mov ecx, dword [esi + 4]
push eax
call fcn.00407100
mov edi, eax
imul edi, dword [esp + 0x10]
jmp 0x41175f
mov ecx, dword [esi + 4]
call fcn.004071d0
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004065f0
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 4]
push 0
mov edi, eax
push edx
push edi
call fcn.00406ac0
mov ecx, dword [esi + 4]
push eax
call fcn.00407100
cdq
idiv ebx
mov ebx, eax
jmp 0x41186c
mov ecx, dword [esi + 4]
call fcn.004071d0
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004065f0
mov edx, dword [esp + 0x14]
mov ecx, dword [esi + 4]
push 0
mov edi, eax
push edx
push edi
call fcn.00406ac0
mov ecx, dword [esi + 4]
push eax
call fcn.00407100
cdq
idiv ebx
mov ebx, edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + 4]
push ebx
push eax
push edi
call fcn.00406f70
mov ecx, dword [esi + 4]
push ebx
call fcn.004064b0
xor al, al
jmp 0x41672b
push eax
push 0x42e7cc
call fcn.004072b0
add esp, 8
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004062f0
push eax
mov ecx, esi
call fcn.00410c40
jmp 0x416729
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004062f0
cmp eax, 0x1100
jg 0x411ae9
je 0x411a47
sub eax, 0x1000
cmp eax, 4
ja case.default.0x415a04
jmp dword [eax*4 + 0x4168f4]
push 0
push 0x42e7c0
mov ecx, esi
call fcn.00410a00
call fcn.0040b5a0
mov ecx, eax
call fcn.0040b410
push eax
call fcn.0041c4e0
mov ecx, dword [esi + 4]
add esp, 4
push eax
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e7b0
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xc8]
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e7a0
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov edi, eax
test edi, edi
je 0x41199a
push edi
call fcn.0041c4d0
add esp, 4
push eax
call fcn.0040b5a0
mov ecx, eax
call fcn.0040b430
push 0
push 0x46414c
push 0x464134
push 0
push edi
call fcn.0041c4d0
add esp, 4
jmp 0x4119c2
push 0
call fcn.0040b5a0
mov ecx, eax
call fcn.0040b430
push 0
push 0x46414c
push 0x464134
push 0
call fcn.0040b5a0
mov ecx, eax
call fcn.0040b410
push eax
call fcn.004218d1
mov ecx, eax
add esp, 0x14
call fcn.0041f300
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e790
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push edi
push eax
call fcn.0040b5a0
mov ecx, eax
call fcn.0040b460
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 0
push 0x42e77c
mov ecx, esi
call fcn.00410a00
call fcn.0040b5a0
mov ecx, eax
call fcn.0040b470
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 4
push 0x42e768
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x28], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x10], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x18], eax
call fcn.004071d0
mov ebx, eax
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xac]
mov edi, eax
push edi
call fcn.0041c4d0
mov ecx, dword [esp + 0x14]
mov edx, dword [eax]
add esp, 4
push ecx
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, eax
call dword [edx + 4]
push edi
call fcn.0041c4d0
mov ecx, dword [esp + 0x2c]
mov edx, dword [eax]
add esp, 4
push ecx
mov ecx, eax
call dword [edx + 0x74]
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
mov ecx, eax
call dword [edx + 0xb8]
mov ecx, dword [esi + 4]
push edi
call fcn.004064b0
jmp 0x416729
cmp eax, 0x2b00
jg 0x413d7b
je 0x413d4e
cmp eax, 0x1700
jg 0x412b48
je 0x412a9c
cmp eax, 0x1600
jg 0x41237b
je 0x4122b9
cmp eax, 0x1412
jg 0x411f22
je 0x411ee6
cmp eax, 0x1301
jg 0x411db2
je 0x411d70
cmp eax, 0x1201
jg 0x411cd7
je 0x411c76
cmp eax, 0x1110
je 0x411bc2
cmp eax, 0x1200
jne case.default.0x415a04
push 2
push 0x42e758
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov edi, eax
push edi
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x24]
push ecx
mov ecx, eax
call dword [edx + 0x2c]
push edi
call fcn.0041c4d0
mov ecx, dword [esp + 0x14]
mov edx, dword [eax]
add esp, 4
push ecx
push ebx
mov ecx, eax
call dword [edx + 0x24]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 3
push 0x42e744
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x10], eax
call fcn.00407240
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push 0x42ca8c
lea edx, [esp + 0x174]
push edx
mov ebx, eax
call dword [sym.imp.kernel32.dll_lstrcpyA]
push edi
lea eax, [esp + 0x174]
push eax
call dword [sym.imp.kernel32.dll_lstrcatA]
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xac]
mov edi, eax
push edi
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x170]
push ecx
mov ecx, eax
call dword [edx + 8]
push edi
call fcn.0041c4d0
mov ecx, dword [esp + 0x14]
mov edx, dword [eax]
add esp, 4
push ecx
mov ecx, eax
call dword [edx + 0x74]
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
mov ecx, eax
call dword [edx + 0xb8]
mov ecx, dword [esi + 4]
push edi
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e734
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov edi, eax
push edi
call fcn.0041c4d0
lea ecx, [esp + 0x24]
add esp, 4
push ecx
lea ecx, [esp + 0x14]
mov edx, dword [eax]
push ecx
mov ecx, eax
call dword [edx + 0x2c]
push edi
call fcn.0041c4d0
mov ecx, dword [esp + 0x14]
mov edx, dword [eax]
add esp, 4
push ebx
push ecx
mov ecx, eax
call dword [edx + 0x24]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
cmp eax, 0x1202
je 0x411d2b
cmp eax, 0x1300
jne case.default.0x415a04
push 1
push 0x42e724
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call dword [edx + 0x2c]
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 4]
push edx
call fcn.004064b0
jmp 0x416729
push 3
push 0x42e710
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x10], eax
call fcn.004071d0
mov edi, eax
push edi
call fcn.0041c4d0
lea ecx, [esp + 0x24]
add esp, 4
push ecx
lea ecx, [esp + 0x70]
jmp 0x411caa
push 1
push 0x42e700
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x24]
push ecx
mov ecx, eax
call dword [edx + 0x2c]
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 4]
push edx
call fcn.004064b0
jmp 0x416729
sub eax, 0x1400
cmp eax, 0x11
ja case.default.0x415a04
movzx eax, byte [eax + 0x416920]
jmp dword [eax*4 + 0x416908]
push 1
push 0x42e6ec
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push 0
mov ecx, eax
call dword [edx + 0x6c]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e6d8
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push 1
mov ecx, eax
call dword [edx + 0x6c]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e6c4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push 2
mov ecx, eax
call dword [edx + 0x6c]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e6ac
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0x70]
mov ecx, dword [esi + 4]
neg eax
sbb eax, eax
inc eax
push eax
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e694
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0x70]
mov ecx, dword [esi + 4]
dec eax
neg eax
sbb eax, eax
inc eax
push eax
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e67c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0x70]
mov ecx, dword [esi + 4]
sub eax, 2
neg eax
sbb eax, eax
inc eax
push eax
call fcn.004064b0
jmp 0x416729
sub eax, 0x1500
cmp eax, 0x52
ja case.default.0x415a04
movzx eax, byte [eax + 0x416960]
jmp dword [eax*4 + 0x416934]
push 4
push 0x42e668
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x28], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x10], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x18], eax
call fcn.004071d0
mov ebx, eax
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xac]
mov edi, eax
push edi
call fcn.0041c4d0
mov ecx, dword [esp + 0x14]
mov edx, dword [eax]
add esp, 4
push ecx
mov ecx, dword [esp + 0x1c]
push ecx
mov ecx, eax
call dword [edx + 0xc]
jmp 0x411ab2
push 4
push 0x42e648
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x28], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x10], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x18], eax
call fcn.004071d0
mov ebx, eax
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xb0]
jmp 0x411a96
push 3
push 0x42e628
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x10], eax
call fcn.00407240
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ebx, eax
push 0x42e620
lea eax, [esp + 0x174]
push eax
call dword [sym.imp.kernel32.dll_lstrcpyA]
push edi
lea ecx, [esp + 0x174]
push ecx
call dword [sym.imp.kernel32.dll_lstrcatA]
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xb0]
mov edi, eax
push edi
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x170]
push ecx
mov ecx, eax
call dword [edx + 8]
push edi
call fcn.0041c4d0
mov ecx, dword [esp + 0x14]
jmp 0x411abc
push 4
push 0x42e5fc
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x28], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x10], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x18], eax
call fcn.004071d0
mov ebx, eax
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xb4]
jmp 0x411a96
push 3
push 0x42e5dc
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x10], eax
call fcn.00407240
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ebx, eax
push 0x42e620
lea eax, [esp + 0x174]
push eax
call dword [sym.imp.kernel32.dll_lstrcpyA]
push edi
lea ecx, [esp + 0x174]
push ecx
call dword [sym.imp.kernel32.dll_lstrcatA]
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xb4]
mov edi, eax
push edi
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x170]
push ecx
mov ecx, eax
call dword [edx + 8]
push edi
call fcn.0041c4d0
mov ecx, dword [esp + 0x14]
jmp 0x411abc
push 3
push 0x42e5c8
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
cmp edi, 0x3e8
jg 0x4121ac
xor ecx, ecx
test edi, edi
setl cl
dec ecx
and edi, ecx
jmp 0x4121b1
mov edi, 0x3e8
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
push ebx
mov ecx, eax
call dword [edx + 0xd4]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e5b0
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xd8]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e594
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push 1
mov ecx, eax
call dword [edx + 0xdc]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e578
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push 0
mov ecx, eax
call dword [edx + 0xdc]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e55c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xe0]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 4
push 0x42e548
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x10], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x14], eax
call fcn.004071d0
push eax
mov dword [esp + 0x1c], eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xac]
mov edi, eax
push edi
call fcn.0041c4d0
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
add esp, 4
push ebx
push ecx
mov ecx, eax
call dword [edx + 0x10]
push edi
call fcn.0041c4d0
mov ecx, dword [esp + 0x14]
mov edx, dword [eax]
add esp, 4
push ecx
mov ecx, eax
call dword [edx + 0x74]
mov edx, dword [esp + 0x18]
push edx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
mov ecx, eax
call dword [edx + 0xb8]
push edi
call fcn.0041c4d0
mov ecx, dword [esp + 0x18]
mov edx, dword [eax]
add esp, 4
push ebx
push ecx
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.00405240
mov ecx, dword [esi + 4]
push edi
call fcn.004064b0
jmp 0x416729
sub eax, 0x1610
cmp eax, 0x2a
ja case.default.0x415a04
movzx eax, byte [eax + 0x416a0c]
jmp dword [eax*4 + 0x4169b4]
push 3
push 0x42e52c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
push ebx
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.00405260
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e510
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push 0xffffffffffffffff
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.00405320
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e4f4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.00405300
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e4d8
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ebx, eax
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.004057d0
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push 0
push 0
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.004052c0
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push 0
push 0
mov ecx, eax
call dword [edx + 0x18]
push eax
call fcn.00417ac0
add esp, 4
mov ecx, eax
call fcn.00417bd0
push 0
push 0x46414c
push 0x464134
push 0
push ebx
call fcn.0041c4d0
add esp, 4
push eax
call fcn.004218d1
add esp, 0x14
mov ecx, eax
call fcn.0041f300
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e4b8
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov edi, eax
push edi
call fcn.0041c4d0
add esp, 4
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x14]
push edx
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.004052a0
push edi
call fcn.0041c4d0
add esp, 4
lea ecx, [esp + 0x6c]
push ecx
lea edx, [esp + 0x1c]
push edx
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.004052e0
mov eax, dword [esp + 0x10]
cdq
sub eax, edx
mov ecx, eax
mov eax, dword [esp + 0x18]
sar ecx, 1
cdq
idiv ecx
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e498
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov edi, eax
push edi
call fcn.0041c4d0
add esp, 4
lea edx, [esp + 0x18]
push edx
mov edx, dword [eax]
lea ecx, [esp + 0x24]
push ecx
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.004052a0
push edi
call fcn.0041c4d0
add esp, 4
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x70]
push edx
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.004052e0
mov eax, dword [esp + 0x10]
cdq
idiv dword [esp + 0x18]
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e47c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
push 0
call fcn.00406df0
test al, al
mov ecx, dword [esi + 4]
je 0x412655
call fcn.004071d0
push eax
lea eax, [esp + 0x4c]
push 0x42c50c
push eax
call fcn.00421d14
add esp, 0xc
lea edi, [esp + 0x48]
jmp 0x41265c
call fcn.00407240
mov edi, eax
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.00405810
push edi
call dword [sym.imp.kernel32.dll_lstrlenA]
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e460
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
mov dword [esp + 0x14], edi
call fcn.004071d0
mov ebx, eax
xor eax, eax
mov dword [esp + 0xac], eax
mov dword [esp + 0xa8], eax
lea ebx, [ebx]
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.004053c0
test al, al
jne 0x415aaa
push ebx
call fcn.0041c4d0
add esp, 4
lea ecx, [esp + 0x20]
push ecx
lea edx, [esp + 0x70]
push edx
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.00405860
test eax, eax
mov dword [esp + 0x10], eax
je 0x4127a5
push ebx
call fcn.0041c4d0
mov ecx, dword [esp + 0x14]
mov edi, eax
add esp, 4
lea eax, [esp + 0xa8]
push eax
push ecx
call fcn.00417ac0
add esp, 4
push eax
lea edx, [esp + 0x28]
push edx
mov edx, dword [edi]
lea eax, [esp + 0x78]
push eax
mov ecx, edi
call dword [edx + 0x18]
push eax
call fcn.00417ac0
add esp, 4
mov ecx, eax
call fcn.00418370
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x70]
push 0
push eax
mov eax, dword [esp + 0x74]
push ecx
push edx
push eax
push 0
push 0x46414c
push 0x464134
push 0
push ebx
call fcn.0041c4d0
add esp, 4
push eax
call fcn.004218d1
add esp, 0x14
mov ecx, eax
call fcn.0041f070
mov edi, dword [esp + 0x14]
test edi, edi
je 0x4126d0
mov ecx, edi
dec edi
cmp ecx, 1
mov dword [esp + 0x14], edi
jg 0x4126d0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e4d8
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.004053c0
mov ecx, dword [esi + 4]
neg al
sbb eax, eax
neg eax
push eax
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e4d8
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.004057d0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e448
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.00405350
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e430
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.00405380
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e418
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
push ebx
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.00405260
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e3fc
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
add esp, 4
push 0x3f2aaaab
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.00405340
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e3e4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
add esp, 4
push 0x3f800000
jmp 0x412946
push 1
push 0x42e3cc
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
add esp, 4
push 0x3fc00000
jmp 0x412946
push 1
push 0x42e3b4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
add esp, 4
push 0x40000000
jmp 0x412946
push 1
push 0x42e39c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
add esp, 4
push 0x40400000
jmp 0x412946
push 2
push 0x42e384
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
mov ecx, eax
call dword [edx + 0xe4]
mov ecx, eax
call fcn.004053b0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 0
push 0x42e36c
mov ecx, esi
call fcn.00410a00
push 0
call fcn.00408380
mov ecx, dword [esi + 4]
add esp, 4
push 1
call fcn.004064b0
jmp 0x416729
push 0
push 0x42e354
mov ecx, esi
call fcn.00410a00
push 1
call fcn.00408380
mov ecx, dword [esi + 4]
add esp, 4
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e340
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
test ebx, ebx
mov edi, eax
jl 0x412ac7
cmp ebx, 6
jle 0x412ad5
push ebx
push 0x42e318
call fcn.004072b0
add esp, 8
push edi
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call dword [edx + 0x30]
push edi
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xc8]
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0x1c]
push ecx
mov ecx, eax
call dword [edx + 0x30]
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
lea ecx, [edx + edi]
imul ecx, ebx
mov eax, 0x2aaaaaab
imul ecx
mov ecx, dword [esi + 4]
mov eax, edx
shr eax, 0x1f
add edx, eax
sub edx, edi
push edx
call fcn.004064b0
jmp 0x416729
cmp eax, 0x2001
jg 0x4134a7
je 0x413482
cmp eax, 0x1915
jg 0x412f2c
je 0x412eec
cmp eax, 0x1902
jg 0x412d81
je 0x412d46
cmp eax, 0x1801
jg 0x412cca
je 0x412c80
cmp eax, 0x1701
je 0x412be8
cmp eax, 0x1800
jne case.default.0x415a04
push 2
push 0x42e300
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call dword [edx + 0x30]
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 4]
push edx
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e2ec
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
test ebx, ebx
mov edi, eax
jl 0x412c13
cmp ebx, 6
jle 0x412c21
push ebx
push 0x42e318
call fcn.004072b0
add esp, 8
push edi
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x24]
push ecx
mov ecx, eax
call dword [edx + 0x30]
push edi
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xc8]
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x70]
push ecx
mov ecx, eax
call dword [edx + 0x30]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
sub edx, ecx
mov ecx, dword [esi + 4]
push edx
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e2d4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x10]
push ecx
lea ecx, [esp + 0x24]
push ecx
mov ecx, eax
call dword [edx + 0x30]
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 4]
push edx
call fcn.004064b0
jmp 0x416729
sub eax, 0x1900
je 0x412d0f
dec eax
jne case.default.0x415a04
push 1
push 0x42e2c0
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push 0
mov ecx, eax
call dword [edx + 0x34]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e2ac
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push 1
mov ecx, eax
call dword [edx + 0x34]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e294
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0x38]
xor ecx, ecx
test al, al
setne cl
push ecx
mov ecx, dword [esi + 4]
call fcn.004064b0
jmp 0x416729
sub eax, 0x1910
cmp eax, 4
ja case.default.0x415a04
jmp dword [eax*4 + 0x416a38]
push 3
push 0x42e27c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
push ebx
mov ecx, eax
call dword [edx + 0x3c]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 3
push 0x42e264
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
push ebx
mov ecx, eax
call dword [edx + 0x48]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e24c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
mov ecx, eax
call dword [edx + 0x40]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e238
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
mov ecx, eax
call dword [edx + 0x44]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e220
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
mov ecx, eax
call dword [edx + 0x4c]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e208
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
mov ecx, eax
call dword [edx + 0x50]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
cmp eax, 0x1a01
jg 0x413119
je 0x41309c
sub eax, 0x1920
cmp eax, 0xe0
ja case.default.0x415a04
movzx eax, byte [eax + 0x416a64]
jmp dword [eax*4 + 0x416a4c]
push 2
push 0x42e1f0
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
test edi, edi
mov ebx, eax
jge 0x412f85
xor edi, edi
jmp 0x412f92
cmp edi, 0x3e8
jle 0x412f92
mov edi, 0x3e8
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0x80]
push ebx
mov dword [esp + 0x14], eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
mov ecx, eax
call dword [edx + 0x7c]
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e1d8
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0x58]
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e1c4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0x5c]
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e1ac
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0x64]
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e1ac
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0x68]
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e194
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ebx, eax
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0x18]
push eax
call fcn.00417ac0
add esp, 4
mov ecx, eax
call fcn.00417cb0
test edi, edi
mov dword [esp + 0x10], eax
jl 0x413107
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
mov ecx, eax
call dword [edx + 0x18]
push eax
call fcn.00417ac0
add esp, 4
mov ecx, eax
call fcn.00417ca0
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
cmp eax, 0x1fff
jg 0x413452
je 0x4133fe
cmp eax, 0x1b00
je 0x413187
cmp eax, 0x1f00
jne case.default.0x415a04
push 3
push 0x42e180
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
push eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
push ebx
mov ecx, eax
call dword [edx + 0x20]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e168
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push edi
mov ebx, eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0x18]
push eax
call fcn.00417ac0
push ebx
mov edi, eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 8
mov ecx, eax
call dword [edx + 0x18]
push eax
call fcn.00417ac0
add esp, 4
mov ebx, eax
lea eax, [esp + 0xb4]
push eax
lea ecx, [esp + 0xa0]
push ecx
lea edx, [esp + 0x30]
push edx
mov ecx, edi
call fcn.00417b10
mov dword [esp + 0x10], eax
lea eax, [esp + 0xb8]
push eax
lea ecx, [esp + 0x9c]
push ecx
lea edx, [esp + 0x80]
push edx
mov ecx, ebx
call fcn.00417b10
fild dword [esp + 0x28]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x78]
fidiv dword [esp + 0x78]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xb4]
cdq
and edx, 3
add eax, edx
mov edi, eax
mov eax, dword [esp + 0xb8]
cdq
and edx, 3
add eax, edx
mov ebx, eax
sar edi, 2
sar ebx, 2
fstp qword [esp + 0xa8]
fild dword [esp + 0x9c]
fidiv dword [esp + 0x98]
fld qword [esp + 0xa8]
fmul qword [0x42e160]
fstp qword [esp + 0xa0]
fld qword [0x42e160]
fmul st(1)
fstp qword [esp + 0x20]
fsub qword [0x42e158]
fstp qword [esp + 0x48]
fld qword [esp + 0x20]
call fcn.00421c48
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
mov eax, edi
fsubr qword [esp + 0x20]
fld qword [esp + 0xa0]
sub eax, ecx
mov dword [esp + 0x20], eax
sub ebx, dword [esp + 0x78]
mov dword [esp + 0x6c], ebx
call fcn.00421c48
mov edx, dword [esp + 0x10]
mov ecx, edi
imul ecx, dword [esp + 0x14]
add ecx, eax
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x98]
test eax, eax
lea ebx, [edx + ecx*4]
jle 0x4133ed
fild dword [esp + 0x74]
mov ecx, dword [esp + 0x6c]
lea edx, [ecx*4]
mov dword [esp + 0x6c], edx
fsubr qword [esp + 0xa0]
fld qword [esp + 0x48]
call fcn.00421c48
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x98]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
fld st(0)
test eax, eax
jle 0x413397
fld qword [esp + 0xa8]
call fcn.00421c48
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x1c]
fsubr qword [esp + 0xa8]
lea edx, [eax*4]
lea esp, [esp]
mov eax, dword [ebx]
fxch st(1)
fadd st(1)
mov dword [ecx], eax
fxch st(1)
add ecx, 4
fld st(1)
add ebx, edx
fcomp qword [0x42e158]
fnstsw ax
test ah, 1
jne 0x41338b
fxch st(1)
add ebx, 4
fsub qword [0x42e158]
fxch st(1)
dec dword [esp + 0x14]
jne 0x413360
mov dword [esp + 0x1c], ecx
fstp st(0)
mov eax, dword [esp + 0x74]
fstp st(0)
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x14], eax
fild dword [esp + 0x14]
imul eax, edi
fsubr qword [esp + 0x48]
add edx, ecx
mov ecx, dword [esp + 0x20]
faddp st(2)
fld st(1)
add eax, ecx
fcomp qword [0x42e158]
lea ebx, [ebx + eax*4]
mov dword [esp + 0x1c], edx
fnstsw ax
test ah, 1
jne 0x4133e1
fxch st(1)
lea ebx, [ebx + edi*4]
fsub qword [0x42e158]
fxch st(1)
dec dword [esp + 0x10]
jne 0x413324
fstp st(0)
mov ecx, dword [esi + 4]
fstp st(0)
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e148
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
push ebx
mov edi, eax
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
mov ecx, eax
call dword [edx + 0xbc]
push edi
call fcn.0041c4d0
push eax
call fcn.0041c4a0
mov ecx, dword [esi + 4]
add esp, 8
push 1
call fcn.004064b0
jmp 0x416729
cmp eax, 0x2000
jne case.default.0x415a04
push 0
push 0x42e138
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.00406430
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 0
push 0x42e128
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.00406440
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
cmp eax, 0x2700
jg 0x4137c2
je 0x41378c
cmp eax, 0x2401
jg 0x413635
je 0x4135f8
cmp eax, 0x2300
jg 0x413588
je 0x413563
cmp eax, 0x2100
je 0x413542
cmp eax, 0x2200
jne case.default.0x415a04
push 1
push 0x42e118
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
cmp dword [esp + 0x44], 0x10
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2cc], 0x13
jae 0x413526
lea eax, [esp + 0x30]
push eax
push 0x42e0f8
call fcn.004072b0
add esp, 8
lea ecx, [esp + 0x2c]
call fcn.004095f0
jmp 0x416729
push 0
push 0x42e0ec
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
push 1
mov byte [esi + 0x50], 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e0e4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
cmp eax, 0x2301
je 0x4135cb
cmp eax, 0x2400
jne case.default.0x415a04
push 1
push 0x42e0d4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.00410610
mov ecx, eax
call fcn.004101c0
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e0c8
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e0b4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push edi
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410290
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
cmp eax, 0x2502
jg 0x41371a
je 0x4136be
sub eax, 0x2500
je 0x41368d
dec eax
jne case.default.0x415a04
push 2
push 0x42e0a0
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push edi
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410440
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42e08c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410430
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 2
push 0x42e078
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
xor edi, edi
test ebx, ebx
mov dword [esp + 0x20], eax
jle 0x415aaa
lea esp, [esp]
mov eax, dword [esp + 0x20]
lea ecx, [edi + eax]
push 0
push ecx
call fcn.00410610
mov ecx, eax
call fcn.00410440
inc edi
cmp edi, ebx
jl 0x4136f0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
cmp eax, 0x2600
jne case.default.0x415a04
push 1
push 0x42e064
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
cmp dword [esp + 0x44], 0x10
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2cc], 0x14
jae 0x41375f
lea eax, [esp + 0x30]
push 1
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410010
mov ecx, dword [esi + 4]
xor edx, edx
test eax, eax
setne dl
push edx
call fcn.004064b0
lea ecx, [esp + 0x2c]
call fcn.004095f0
jmp 0x416729
push 1
push 0x42e058
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
lea ecx, [esi + 0x58]
mov edi, eax
mov byte [esi + 0x51], 1
call fcn.00420030
mov ecx, dword [esi + 4]
push 1
mov dword [esi + 0x54], edi
call fcn.004064b0
jmp 0x416729
cmp eax, 0x2a01
jg 0x4139f8
je 0x41393b
cmp eax, 0x2901
jg 0x413848
je 0x413836
cmp eax, 0x2800
je 0x413800
cmp eax, 0x2900
jne case.default.0x415a04
push 0x42e024
call fcn.004072b0
add esp, 4
jmp 0x416729
push 0
push 0x42e018
mov ecx, esi
call fcn.00410a00
push 0
push 0
push 0x10
call fcn.0040b5a0
mov ecx, eax
call fcn.00417bb0
push eax
call dword [sym.imp.user32.dll_PostMessageA]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 0x42dfe4
call fcn.004072b0
add esp, 4
jmp 0x416729
cmp eax, 0x2902
je 0x413929
cmp eax, 0x2a00
jne case.default.0x415a04
push 4
push 0x42dfcc
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.00407240
push eax
lea ecx, [esp + 0x80]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov dword [esp + 0x2cc], 0x15
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
push 0
mov dword [esp + 0x14], eax
call fcn.004065f0
mov ebx, dword [esp + 0x90]
cmp ebx, edi
mov dword [esp + 0x18], eax
jl 0x4138be
lea ebx, [edi - 1]
xor edi, edi
test ebx, ebx
jle 0x4138fb
jmp 0x4138d0
push edi
lea ecx, [esp + 0x80]
call fcn.004053d0
movzx eax, byte [eax]
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x1c]
lea edx, [edi + ecx]
mov ecx, dword [esi + 4]
push edx
push eax
call fcn.00406f70
inc edi
cmp edi, ebx
jl 0x4138d0
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
push 0
add edi, ecx
mov ecx, dword [esi + 4]
push edi
push edx
call fcn.00406f70
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
lea ecx, [esp + 0x7c]
call fcn.004095f0
jmp 0x416729
push 0x42df94
call fcn.004072b0
add esp, 4
jmp 0x416729
xor edi, edi
mov dword [esp + 0x60], 0xf
mov dword [esp + 0x5c], edi
mov byte [esp + 0x4c], 0
push 3
push 0x42df7c
mov ecx, esi
mov dword [esp + 0x2d4], 0x16
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x10], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
push edi
mov ebx, eax
call fcn.004065f0
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x10]
test eax, eax
mov byte [esp + 0x1d], 0
jle 0x4139d2
mov ecx, dword [esp + 0x20]
push 0
lea eax, [edi + ebx]
push eax
push ecx
mov ecx, dword [esi + 4]
call fcn.00406ac0
mov ecx, dword [esi + 4]
push eax
call fcn.00407100
test al, al
mov byte [esp + 0x1c], al
je 0x4139d2
lea edx, [esp + 0x1c]
push edx
lea ecx, [esp + 0x4c]
call fcn.00405810
mov eax, dword [esp + 0x10]
inc edi
cmp edi, eax
jl 0x413997
cmp dword [esp + 0x60], 0x10
mov eax, dword [esp + 0x4c]
jae 0x4139e1
lea eax, [esp + 0x4c]
mov ecx, dword [esi + 4]
push eax
call fcn.00406550
lea ecx, [esp + 0x48]
call fcn.004095f0
jmp 0x416729
sub eax, 0x2a02
cmp eax, 3
ja case.default.0x415a04
jmp dword [eax*4 + 0x416b48]
push 4
push 0x42df68
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
push 0
mov dword [esp + 0x24], eax
call fcn.004065f0
mov ecx, dword [esi + 4]
mov dword [esp + 0x6c], eax
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
lea edi, [ebx*4]
push edi
mov dword [esp + 0x2d0], 0x17
call fcn.00418790
mov ecx, dword [esp + 0x48]
add esp, 4
cmp ecx, 0x10
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x10], eax
jae 0x413a81
lea ecx, [esp + 0x30]
push edi
push eax
push ecx
call fcn.0041f760
mov ecx, eax
call fcn.0041f790
xor edi, edi
test al, al
je 0x413ac7
test ebx, ebx
jle 0x413ac2
lea ebx, [ebx]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + edi*4]
mov edx, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x70]
lea eax, [edi + edx]
push eax
push ecx
mov ecx, dword [esi + 4]
call fcn.00406f70
inc edi
cmp edi, ebx
jl 0x413aa0
mov edi, 1
mov edx, dword [esp + 0x10]
push edx
call fcn.004187a0
mov ecx, dword [esi + 4]
add esp, 4
push edi
call fcn.004064b0
lea ecx, [esp + 0x2c]
call fcn.004095f0
jmp 0x416729
push 4
push 0x42df68
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
push 0
mov dword [esp + 0x24], eax
call fcn.004065f0
mov ecx, dword [esi + 4]
mov dword [esp + 0x6c], eax
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
lea eax, [ebx*4]
push eax
mov dword [esp + 0x2d0], 0x18
mov dword [esp + 0x78], eax
call fcn.00418790
add esp, 4
xor edi, edi
test ebx, ebx
mov dword [esp + 0x10], eax
jle 0x413b8c
jmp 0x413b60
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x6c]
push 0
lea ecx, [edi + eax]
push ecx
mov ecx, dword [esi + 4]
push edx
call fcn.00406ac0
mov ecx, dword [esi + 4]
push eax
call fcn.00407100
mov ecx, dword [esp + 0x10]
mov dword [ecx + edi*4], eax
inc edi
cmp edi, ebx
jl 0x413b60
cmp dword [esp + 0x44], 0x10
mov eax, dword [esp + 0x30]
jae 0x413b9b
lea eax, [esp + 0x30]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x10]
push edx
push edi
push eax
call fcn.0041f760
mov ecx, eax
call fcn.0041f840
push edi
call fcn.004187a0
mov ecx, dword [esi + 4]
add esp, 4
push 1
call fcn.004064b0
lea ecx, [esp + 0x2c]
call fcn.004095f0
jmp 0x416729
push 0
push 0x42df50
mov ecx, esi
call fcn.00410a00
mov eax, dword [esi + 0x8074]
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 2
push 0x42df3c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
push edi
mov dword [esp + 0x2d0], 0x19
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0x18]
push eax
call fcn.00417ac0
add esp, 4
lea ecx, [esp + 0x10]
push ecx
lea edx, [esp + 0x7c]
push edx
lea ecx, [esp + 0x24]
push ecx
mov ecx, eax
call fcn.00417b10
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x78]
imul eax, dword [esp + 0x10]
add eax, 0x36
push eax
mov dword [esp + 0x2c], eax
call fcn.00418790
mov edx, dword [esp + 0x2c]
mov ebx, eax
xor eax, eax
mov ecx, 0xd
mov edi, ebx
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
mov dword [ebx + 2], edx
mov byte [ebx], 0x42
mov byte [ebx + 1], 0x4d
mov byte [ebx + 0xa], 0x36
mov byte [ebx + 0xe], 0x28
mov eax, dword [esp + 0x20]
mov dword [ebx + 0x12], eax
mov ecx, dword [esp + 0x7c]
mov eax, dword [esp + 0x24]
mov dword [ebx + 0x16], ecx
mov byte [ebx + 0x1a], 1
mov byte [ebx + 0x1c], 0x18
mov edx, dword [esp + 0x20]
lea ecx, [edx*4]
mov edx, ecx
mov ecx, dword [esp + 0x14]
sub ecx, edx
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x7c]
add esp, 4
test ecx, ecx
lea edi, [ebx + 0x36]
mov dword [esp + 0x18], 0
jle 0x413d26
nop
mov edx, dword [esp + 0x1c]
xor ecx, ecx
test edx, edx
jle 0x413d0f
lea ebx, [ebx]
mov dl, byte [eax]
mov byte [edi], dl
mov dl, byte [eax + 1]
inc edi
inc eax
mov byte [edi], dl
mov dl, byte [eax + 1]
inc edi
inc eax
mov byte [edi], dl
mov edx, dword [esp + 0x1c]
inc edi
add eax, 2
inc ecx
cmp ecx, edx
jl 0x413cf0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x78]
add eax, ecx
mov ecx, dword [esp + 0x18]
inc ecx
cmp ecx, edx
mov dword [esp + 0x18], ecx
jl 0x413ce0
cmp dword [esp + 0x44], 0x10
mov eax, dword [esp + 0x30]
jae 0x413d35
lea eax, [esp + 0x30]
mov ecx, dword [esp + 0x28]
push ecx
push ebx
push eax
call fcn.0041f760
mov ecx, eax
call fcn.0041f840
push ebx
jmp 0x413bb3
push 0
push 0x42df30
mov ecx, esi
call fcn.00410a00
call fcn.00410610
mov ecx, eax
call fcn.0040fde0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
mov byte [esi + 0x50], 1
jmp 0x416729
cmp eax, 0x8100
jg 0x415433
je 0x41531e
cmp eax, 0x5001
jg 0x4145fb
je 0x414520
cmp eax, 0x3400
jg 0x414231
je 0x4141b3
cmp eax, 0x3000
jg 0x413feb
je 0x413faf
cmp eax, 0x2d00
jg 0x413f3b
je 0x413ef3
sub eax, 0x2c00
je 0x413e6d
dec eax
jne case.default.0x415a04
push 2
push 0x42df1c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.00407240
push eax
lea ecx, [esp + 0x4c]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov dword [esp + 0x2cc], 0x1c
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x4c]
mov ebx, 0x10
cmp eax, ebx
mov byte [esp + 0x2cc], 0x1d
jae 0x413e3c
lea ecx, [esp + 0x4c]
cmp dword [esp + 0x44], ebx
mov eax, dword [esp + 0x30]
jae 0x413e4a
lea eax, [esp + 0x30]
push 1
push ecx
push eax
call fcn.0040b5a0
mov ecx, eax
call fcn.00417bb0
push eax
call dword [sym.imp.user32.dll_MessageBoxA]
dec eax
neg eax
sbb eax, eax
inc eax
push eax
jmp 0x414501
push 2
push 0x42df0c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.00407240
push eax
lea ecx, [esp + 0x4c]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov dword [esp + 0x2cc], 0x1a
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x4c]
mov ebx, 0x10
cmp eax, ebx
mov byte [esp + 0x2cc], 0x1b
jae 0x413ec7
lea ecx, [esp + 0x4c]
cmp dword [esp + 0x44], ebx
mov eax, dword [esp + 0x30]
jae 0x413ed5
lea eax, [esp + 0x30]
push 0
push ecx
push eax
call fcn.0040b5a0
mov ecx, eax
call fcn.00417bb0
push eax
call dword [sym.imp.user32.dll_MessageBoxA]
push 1
jmp 0x414501
push 0
push 0x42def8
mov ecx, esi
call fcn.00410a00
lea edx, [esp + 0x48]
push edx
call dword [sym.imp.kernel32.dll_GetLocalTime]
movzx eax, word [esp + 0x48]
cdq
mov ecx, 0x64
idiv ecx
movzx eax, word [esp + 0x4a]
movzx ecx, word [esp + 0x4e]
imul edx, edx, 0x64
add edx, eax
imul edx, edx, 0x64
add edx, ecx
mov ecx, dword [esi + 4]
push edx
call fcn.004064b0
jmp 0x416729
sub eax, 0x2d01
je 0x413f6f
dec eax
jne case.default.0x415a04
push 0
push 0x42dee4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
push 8
call fcn.004062f0
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 0
push 0x42ded0
mov ecx, esi
call fcn.00410a00
lea edx, [esp + 0x48]
push edx
call dword [sym.imp.kernel32.dll_GetLocalTime]
movzx eax, word [esp + 0x50]
movzx ecx, word [esp + 0x52]
imul eax, eax, 0x64
movzx edx, word [esp + 0x54]
add eax, ecx
mov ecx, dword [esi + 4]
imul eax, eax, 0x64
add eax, edx
push eax
call fcn.004064b0
jmp 0x416729
push 2
push 0x42dec0
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.00407240
push eax
push edi
call fcn.00410610
mov ecx, eax
call fcn.0040fe00
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
cmp eax, 0x3300
jg 0x414115
je 0x4140ca
cmp eax, 0x3001
je 0x414061
cmp eax, 0x3100
jne case.default.0x415a04
push 2
push 0x42deac
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
test eax, eax
je 0x41404f
push edi
push eax
call fcn.00410610
mov ecx, eax
call fcn.0040ff00
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
mov ecx, dword [esi + 4]
push 1
mov dword [esi + 0x4c], edi
call fcn.004064b0
jmp 0x416729
push 1
push 0x42de9c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov edi, eax
test edi, edi
je 0x4140a8
push edi
call fcn.00410610
mov ecx, eax
call fcn.0040fec0
push 1
push edi
call fcn.00410610
mov ecx, eax
call fcn.0040ff20
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
mov eax, dword [esi]
push eax
call fcn.00410610
mov ecx, eax
call fcn.0040fec0
mov ecx, dword [esi + 4]
push 1
mov byte [esi + 0x48], 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42de88
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
test eax, eax
je 0x414102
push 0
push eax
call fcn.00410610
mov ecx, eax
call fcn.0040ff20
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
mov ecx, dword [esi + 4]
push 1
mov byte [esi + 0x48], 0
call fcn.004064b0
jmp 0x416729
sub eax, 0x3301
je 0x414177
dec eax
jne case.default.0x415a04
push 1
push 0x42de70
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
test eax, eax
je 0x41415f
push eax
call fcn.00410610
mov ecx, eax
call fcn.0040ff40
xor ecx, ecx
test al, al
sete cl
push ecx
mov ecx, dword [esi + 4]
call fcn.004064b0
jmp 0x416729
mov al, byte [esi + 0x48]
xor ecx, ecx
test al, al
sete cl
push ecx
mov ecx, dword [esi + 4]
call fcn.004064b0
jmp 0x416729
push 1
push 0x42de5c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
test eax, eax
je 0x4140b7
push 1
push eax
call fcn.00410610
mov ecx, eax
call fcn.0040ff20
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 3
push 0x42de44
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
test edi, edi
mov dword [esp + 0x20], eax
jl 0x4141ea
cmp edi, 0x10
jl 0x4141fc
push edi
push 0x42de1c
call fcn.004072b0
mov eax, dword [esp + 0x28]
add esp, 8
test eax, eax
je 0x41421e
push ebx
push edi
push eax
call fcn.00410610
mov ecx, eax
call fcn.0040ff60
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
mov dword [esi + edi*4 + 8], ebx
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
cmp eax, 0x4200
jg 0x4143c2
je 0x41438d
cmp eax, 0x3600
jg 0x414325
je 0x4142ee
cmp eax, 0x3401
je 0x414283
cmp eax, 0x3500
jne case.default.0x415a04
push 0
push 0x42de0c
mov ecx, esi
call fcn.00410a00
mov edx, dword [esi]
mov ecx, dword [esi + 4]
push edx
call fcn.004064b0
jmp 0x416729
push 2
push 0x42ddf4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
test edi, edi
mov ebx, eax
jl 0x4142ae
cmp edi, 0x10
jl 0x4142bc
push edi
push 0x42de1c
call fcn.004072b0
add esp, 8
test ebx, ebx
je 0x4142dc
push edi
push ebx
call fcn.00410610
mov ecx, eax
call fcn.0040ff80
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
mov eax, dword [esi + edi*4 + 8]
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 1
push 0x42dde4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.00410610
mov ecx, eax
call fcn.0040fee0
mov ecx, dword [esi + 4]
neg al
sbb eax, eax
neg eax
push eax
call fcn.004064b0
jmp 0x416729
cmp eax, 0x4000
je 0x41436c
cmp eax, 0x4100
jne case.default.0x415a04
push 1
push 0x42ddd8
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.00416e70
add esp, 4
mov ecx, eax
call fcn.00416e90
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 0
push 0x42ddc8
mov ecx, esi
call fcn.00410a00
call fcn.00416f00
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 1
push 0x42ddbc
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.00416e70
add esp, 4
mov ecx, eax
call fcn.00416eb0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
cmp eax, 0x4500
jg 0x414478
je 0x41444a
cmp eax, 0x4300
je 0x414415
cmp eax, 0x4400
jne case.default.0x415a04
push 1
push 0x42ddb0
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.00416e70
add esp, 4
mov ecx, eax
call fcn.00416ef0
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 1
push 0x42dda4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.00416e70
add esp, 4
mov ecx, eax
call fcn.00416ed0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42dd94
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.00417020
mov ecx, dword [esi + 4]
add esp, 4
push 1
call fcn.004064b0
jmp 0x416729
cmp eax, 0x5000
jne case.default.0x415a04
push 2
push 0x42dd80
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.00407240
push eax
lea ecx, [esp + 0x4c]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov dword [esp + 0x2cc], 8
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x4c]
mov ebx, 0x10
cmp eax, ebx
mov byte [esp + 0x2cc], 9
jae 0x4144dd
lea ecx, [esp + 0x4c]
cmp dword [esp + 0x44], ebx
mov eax, dword [esp + 0x30]
jae 0x4144eb
lea eax, [esp + 0x30]
push ecx
push eax
call fcn.0040fd50
mov ecx, eax
call fcn.0040fb90
xor ecx, ecx
test al, al
setne cl
push ecx
mov ecx, dword [esi + 4]
call fcn.004064b0
lea ecx, [esp + 0x2c]
call fcn.004095f0
lea ecx, [esp + 0x48]
call fcn.004095f0
jmp 0x416729
push 3
push 0x42dd70
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.00407240
push eax
lea ecx, [esp + 0x80]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov dword [esp + 0x2cc], 0xa
call fcn.00407240
push eax
lea ecx, [esp + 0x4c]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov byte [esp + 0x2cc], 0xb
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
mov eax, dword [esp + 0x94]
mov edx, dword [esp + 0x80]
mov ebx, 0x10
cmp eax, ebx
mov byte [esp + 0x2cc], 0xc
jae 0x4145a0
lea edx, [esp + 0x80]
cmp dword [esp + 0x60], ebx
mov ecx, dword [esp + 0x4c]
jae 0x4145ae
lea ecx, [esp + 0x4c]
cmp dword [esp + 0x44], ebx
mov eax, dword [esp + 0x30]
jae 0x4145bc
lea eax, [esp + 0x30]
push edx
push ecx
push eax
call fcn.0040fd50
mov ecx, eax
call fcn.0040fbb0
mov ecx, dword [esi + 4]
xor edx, edx
test al, al
setne dl
push edx
call fcn.004064b0
lea ecx, [esp + 0x2c]
call fcn.004095f0
lea ecx, [esp + 0x48]
call fcn.004095f0
lea ecx, [esp + 0x7c]
call fcn.004095f0
jmp 0x416729
cmp eax, 0x6301
jg 0x414bf4
je 0x414a97
cmp eax, 0x6103
jg 0x4148f0
je 0x4148a3
cmp eax, 0x6000
jg 0x4147fb
je 0x4147be
sub eax, 0x5100
je 0x4146fc
dec eax
jne case.default.0x415a04
push 3
push 0x42dd64
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.00407240
push eax
lea ecx, [esp + 0x4c]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov ebx, 0x10
mov dword [esp + 0x2cc], ebx
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov byte [esp + 0x2cc], 0x11
call fcn.00407240
push eax
lea ecx, [esp + 0x80]
call fcn.00404da0
cmp dword [esp + 0x60], ebx
mov edx, dword [esp + 0x4c]
mov byte [esp + 0x2cc], 0x12
jae 0x4146b1
lea edx, [esp + 0x4c]
cmp dword [esp + 0x44], ebx
mov ecx, dword [esp + 0x30]
jae 0x4146bf
lea ecx, [esp + 0x30]
cmp dword [esp + 0x94], ebx
mov eax, dword [esp + 0x80]
jae 0x4146d6
lea eax, [esp + 0x80]
push edx
push ecx
push eax
call fcn.0040fd50
mov ecx, eax
call fcn.0040fb60
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
lea ecx, [esp + 0x7c]
call fcn.004095f0
jmp 0x414509
push 3
push 0x42dd54
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.00407240
push eax
lea ecx, [esp + 0x4c]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov dword [esp + 0x2cc], 0xd
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov byte [esp + 0x2cc], 0xe
call fcn.00407240
push eax
lea ecx, [esp + 0x80]
call fcn.00404da0
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x4c]
mov ebx, 0x10
cmp eax, ebx
mov byte [esp + 0x2cc], 0xf
jae 0x414773
lea edx, [esp + 0x4c]
cmp dword [esp + 0x44], ebx
mov ecx, dword [esp + 0x30]
jae 0x414781
lea ecx, [esp + 0x30]
cmp dword [esp + 0x94], ebx
mov eax, dword [esp + 0x80]
jae 0x414798
lea eax, [esp + 0x80]
push edx
push ecx
push eax
call fcn.0040fd50
mov ecx, eax
call fcn.0040fb40
mov ecx, dword [esi + 4]
push eax
call fcn.00406550
lea ecx, [esp + 0x7c]
call fcn.004095f0
jmp 0x414509
push 2
push 0x42dd48
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ebx, eax
call fcn.004215f7
sub edi, ebx
cdq
inc edi
idiv edi
mov ecx, dword [esi + 4]
add edx, ebx
push edx
call fcn.004064b0
jmp 0x416729
sub eax, 0x6101
je 0x414856
dec eax
jne case.default.0x415a04
push 3
push 0x42dd34
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
cmp eax, edi
jge 0x414975
cmp edi, ebx
jg 0x414975
mov ecx, dword [esi + 4]
mov eax, 1
push eax
call fcn.004064b0
jmp 0x416729
push 3
push 0x42dd20
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
cmp eax, edi
jge 0x414975
cmp edi, ebx
jge 0x414975
mov ecx, dword [esi + 4]
mov eax, 1
push eax
call fcn.004064b0
jmp 0x416729
push 3
push 0x42dd0c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
cmp eax, edi
jg 0x414975
cmp edi, ebx
jge 0x414975
mov ecx, dword [esi + 4]
mov eax, 1
push eax
call fcn.004064b0
jmp 0x416729
cmp eax, 0x6201
jg 0x4149b1
je 0x414985
cmp eax, 0x6104
je 0x41493f
cmp eax, 0x6200
jne case.default.0x415a04
push 1
push 0x42dcfc
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
push 1
call fcn.00406df0
mov ecx, dword [esi + 4]
neg al
sbb eax, eax
neg eax
push eax
call fcn.004064b0
jmp 0x416729
push 3
push 0x42dce8
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
cmp eax, edi
jg 0x414975
cmp edi, ebx
jle 0x414890
mov ecx, dword [esi + 4]
xor eax, eax
push eax
call fcn.004064b0
jmp 0x416729
push 1
push 0x42dcd8
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
push 1
call fcn.00406eb0
mov ecx, dword [esi + 4]
neg al
sbb eax, eax
neg eax
push eax
call fcn.004064b0
jmp 0x416729
cmp eax, 0x6300
jne case.default.0x415a04
push 2
push 0x42dcc4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.00407240
push eax
lea ecx, [esp + 0x4c]
call fcn.00404da0
cmp edi, 0xa
mov dword [esp + 0x2cc], 0x1e
jne 0x414a2b
cmp dword [esp + 0x60], 0x10
mov eax, dword [esp + 0x4c]
jae 0x414a05
lea eax, [esp + 0x4c]
push eax
call fcn.00421bf0
mov ecx, dword [esi + 4]
add esp, 4
mov edx, eax
push edx
mov dword [esp + 0x14], eax
call fcn.004064b0
lea ecx, [esp + 0x48]
call fcn.004095f0
jmp 0x416729
mov ebx, 0x10
cmp edi, ebx
jne 0x414a70
cmp dword [esp + 0x60], ebx
mov eax, dword [esp + 0x4c]
jae 0x414a42
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x10]
push ecx
push 0x42dcc0
push eax
call fcn.00421fed
mov edx, dword [esp + 0x1c]
mov ecx, dword [esi + 4]
add esp, 0xc
push edx
call fcn.004064b0
lea ecx, [esp + 0x48]
call fcn.004095f0
jmp 0x416729
push 0x42dc80
mov ecx, esi
call fcn.004109e0
mov edx, dword [esp + 0x10]
mov ecx, dword [esi + 4]
push edx
call fcn.004064b0
lea ecx, [esp + 0x48]
call fcn.004095f0
jmp 0x416729
xor ecx, ecx
mov eax, 0xf
mov dword [esp + 0x44], eax
mov dword [esp + 0x40], ecx
mov byte [esp + 0x30], cl
mov dword [esp + 0x2cc], 0x1f
mov dword [esp + 0x60], eax
mov dword [esp + 0x5c], ecx
mov byte [esp + 0x4c], cl
push 3
push 0x42dc6c
mov ecx, esi
mov byte [esp + 0x2d4], 0x20
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x10], eax
call fcn.004071d0
mov edi, eax
test edi, edi
jge 0x414b04
mov byte [esp + 0x1c], 1
neg edi
jmp 0x414b09
mov byte [esp + 0x1c], 0
test ebx, ebx
jle 0x414ba1
push 0x42dc48
lea ecx, [esp + 0x30]
call fcn.00404480
mov eax, dword [esp + 0x10]
push eax
lea ecx, [esp + 0xc0]
push ecx
push edi
call fcn.00421daa
add esp, 0xc
push eax
lea ecx, [esp + 0x30]
call fcn.00405810
mov al, byte [esp + 0x1c]
test al, al
mov eax, 0x42dc44
jne 0x414b51
mov eax, 0x42c33a
push eax
lea ecx, [esp + 0x4c]
call fcn.00404480
mov edx, dword [esp + 0x40]
push 0xffffffffffffffff
sub edx, ebx
push edx
lea eax, [esp + 0x108]
push eax
lea ecx, [esp + 0x38]
call fcn.004044b0
push 0xffffffffffffffff
push 0
push eax
lea ecx, [esp + 0x54]
mov byte [esp + 0x2d8], 0x21
call fcn.004054a0
lea ecx, [esp + 0x100]
mov byte [esp + 0x2cc], 0x20
call fcn.004095f0
jmp 0x414bcb
mov al, byte [esp + 0x1c]
test al, al
je 0x414bab
neg edi
mov ecx, dword [esp + 0x10]
push ecx
lea edx, [esp + 0xc0]
push edx
push edi
call fcn.00421daa
add esp, 0xc
push eax
lea ecx, [esp + 0x4c]
call fcn.00405810
lea ecx, [esp + 0x48]
call fcn.00403c40
mov ecx, dword [esi + 4]
push eax
call fcn.00406550
lea ecx, [esp + 0x48]
call fcn.004095f0
lea ecx, [esp + 0x2c]
call fcn.004095f0
jmp 0x416729
cmp eax, 0x7002
jg 0x415028
je 0x414fd4
cmp eax, 0x6400
jg 0x414e04
je 0x414d5e
sub eax, 0x6302
je 0x414c62
dec eax
jne case.default.0x415a04
push 1
push 0x42dc30
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
push 0
call fcn.00406eb0
test al, al
jne 0x414c4c
push 0x42dc10
mov ecx, esi
call fcn.004109e0
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 0x42c33a
lea ecx, [esp + 0x80]
call fcn.00404da0
push 1
push 0x42dbf8
mov ecx, esi
mov dword [esp + 0x2d4], 0x22
xor ebx, ebx
mov dword [esp + 0xc4], 0x42dbf4
mov dword [esp + 0xc8], 0x42dbf0
mov dword [esp + 0xcc], 0x42dbec
mov dword [esp + 0xd0], 0x42dbe8
mov dword [esp + 0xd4], 0x42dbe4
mov dword [esp + 0xd8], 0x42dbe0
mov dword [esp + 0xdc], 0x42dbdc
mov dword [esp + 0xe0], 0x42dbd8
mov dword [esp + 0xe4], 0x42dbd4
mov dword [esp + 0xe8], 0x42dbd0
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
cdq
mov ecx, 0xa
idiv ecx
inc ebx
test eax, eax
mov dword [esp + ebx*4 + 0x274], edx
jne 0x414d04
dec ebx
js 0x414d3e
jmp 0x414d20
mov edx, dword [esp + ebx*4 + 0x278]
mov eax, dword [esp + edx*4 + 0xbc]
push eax
lea ecx, [esp + 0x80]
call fcn.00405810
dec ebx
jns 0x414d20
lea ecx, [esp + 0x7c]
call fcn.00403c40
mov ecx, dword [esi + 4]
push eax
call fcn.00406550
lea ecx, [esp + 0x7c]
call fcn.004095f0
jmp 0x416729
push 3
push 0x42dbb8
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], eax
call fcn.004071d0
mov ecx, eax
cmp ecx, 0x64
jle 0x414d9f
cdq
mov ecx, 0x64
idiv ecx
mov ecx, edx
mov edi, eax
jmp 0x414da4
mov edi, 0x14
mov edx, dword [esp + 0x20]
inc edx
imul edx, edx, 0xd
mov eax, 0x66666667
imul edx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add edx, eax
mov eax, 3
sub eax, edi
lea eax, [edx + eax*2]
mov dword [esp + 0x20], eax
mov eax, edi
cdq
and edx, 3
add eax, edx
mov edi, eax
mov eax, ecx
cdq
sar edi, 2
add edi, ecx
mov ecx, dword [esp + 0x20]
and edx, 3
add eax, edx
sar eax, 2
add edi, ecx
add eax, edi
add eax, ebx
cdq
mov ecx, 7
idiv ecx
mov ecx, dword [esi + 4]
push edx
call fcn.004064b0
jmp 0x416729
sub eax, 0x7000
je 0x414f90
dec eax
jne case.default.0x415a04
push 9
push 0x42dba0
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
push 0
call fcn.00406df0
test al, al
mov ecx, dword [esi + 4]
je 0x414e3c
call fcn.004071d0
jmp 0x414e5d
push 0
call fcn.00407240
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410010
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410090
mov ecx, dword [esi + 4]
push 0
mov dword [esp + 0x14], eax
call fcn.00406df0
test al, al
mov ecx, dword [esi + 4]
je 0x414e79
call fcn.004071d0
jmp 0x414e9a
push 0
call fcn.00407240
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410010
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410090
mov ecx, dword [esi + 4]
push 0
mov dword [esp + 0x1c], eax
call fcn.00406df0
test al, al
mov ecx, dword [esi + 4]
je 0x414eb6
call fcn.004071d0
jmp 0x414ed7
push 0
call fcn.00407240
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410010
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410090
mov ecx, dword [esi + 4]
mov dword [esp + 0x28], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x9c], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x74], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x6c], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x9c]
mov dword [esp + 0x48], edx
lea edx, [esp + 0x48]
push edx
mov dword [esp + 0x50], ecx
mov ebx, eax
mov eax, dword [esi]
lea ecx, [esp + 0xa4]
push ecx
push eax
push edi
push ebx
call fcn.00417940
mov ecx, eax
call fcn.00417090
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x28]
push edx
push eax
push ecx
push edi
push ebx
mov ecx, esi
call fcn.00410a40
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42db8c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov edi, eax
push edi
call fcn.00417940
mov ecx, eax
call fcn.00417060
push edi
mov ecx, esi
call fcn.00410ab0
lea ecx, [esi + 0x60]
call fcn.00410b30
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42db74
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ebx, eax
push ebx
call fcn.00417940
mov ecx, eax
call fcn.00417140
test edi, edi
jl 0x415aaa
push edi
push ebx
call fcn.00417940
mov ecx, eax
call fcn.00417180
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
cmp eax, 0x7100
jg 0x4152e1
je 0x41523f
sub eax, 0x7003
je 0x415216
dec eax
jne case.default.0x415a04
push 6
push 0x42db58
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
push 0
call fcn.00406df0
test al, al
mov ecx, dword [esi + 4]
je 0x415071
call fcn.004071d0
jmp 0x415092
push 0
call fcn.00407240
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410010
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410090
mov ecx, dword [esi + 4]
push 0
mov dword [esp + 0x2c], eax
call fcn.00406df0
test al, al
mov ecx, dword [esi + 4]
je 0x4150ae
call fcn.004071d0
jmp 0x4150cf
push 0
call fcn.00407240
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410010
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410090
mov ecx, dword [esi + 4]
push 0
mov dword [esp + 0x18], eax
call fcn.00406df0
test al, al
mov ecx, dword [esi + 4]
je 0x4150eb
call fcn.004071d0
jmp 0x41510c
push 0
call fcn.00407240
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410010
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410090
mov ecx, dword [esi + 4]
mov dword [esp + 0x98], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov edx, dword [esi]
push edi
mov dword [esp + 0xa0], eax
mov dword [esp + 0x78], edx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x6c]
push ecx
lea ecx, [esp + 0x24]
push ecx
mov ecx, eax
call dword [edx + 0x2c]
push edi
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0x38]
test al, al
push edi
je 0x415186
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call dword [edx + 0x60]
jmp 0x41519f
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
lea ecx, [esp + 0x18]
push ecx
lea ecx, [esp + 0x14]
push ecx
mov ecx, eax
call dword [edx + 0x30]
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 0x9c]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
lea eax, [esp + 0x48]
push eax
mov dword [esp + 0x4c], ecx
lea ecx, [esp + 0xa4]
push ecx
mov dword [esp + 0x54], edx
mov edx, dword [esp + 0x7c]
push edx
push ebx
push edi
call fcn.00417940
mov ecx, eax
call fcn.00417090
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x98]
push eax
push ecx
push edx
push ebx
push edi
mov ecx, esi
call fcn.00410a40
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 0
push 0x42db40
mov ecx, esi
call fcn.00410a00
call fcn.00417940
mov ecx, eax
call fcn.00417170
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 4
push 0x42db28
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
push 0
call fcn.00406df0
test al, al
mov ecx, dword [esi + 4]
je 0x415265
call fcn.004071d0
jmp 0x415286
push 0
call fcn.00407240
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410010
push eax
call fcn.00410610
mov ecx, eax
call fcn.00410090
mov ecx, dword [esi + 4]
mov dword [esp + 0x10], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ecx, dword [esp + 0x20]
mov ebx, eax
mov eax, dword [esi]
push ecx
push eax
push edi
push ebx
call fcn.00417940
mov ecx, eax
call fcn.004170f0
mov edx, dword [esp + 0x10]
push 0
push edx
push 0
push edi
push ebx
mov ecx, esi
call fcn.00410a40
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
cmp eax, 0x8000
jne case.default.0x415a04
push 1
push 0x42db18
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.0041c3d0
mov ecx, eax
call fcn.0041be40
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42db04
mov ecx, esi
xor ebx, ebx
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], eax
call fcn.00407240
push eax
lea ecx, [esp + 0x80]
call fcn.00404da0
mov dword [esp + 0x2cc], 0x23
call fcn.0041c3d0
mov ecx, eax
call fcn.0041be90
mov edi, eax
push 0x42dafc
lea eax, [esp + 0x174]
push eax
call dword [sym.imp.kernel32.dll_lstrcpyA]
lea ecx, [esp + 0x7c]
call fcn.00403c40
push eax
lea ecx, [esp + 0x174]
push ecx
call dword [sym.imp.kernel32.dll_lstrcatA]
lea edx, [esp + 0x170]
push edx
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041bfb0
test al, al
je 0x41540f
push 1
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c020
push 3
call fcn.00410610
mov ecx, eax
call fcn.004101c0
push eax
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041bff0
mov eax, dword [esp + 0x20]
push eax
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c050
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c080
mov ecx, dword [esi + 4]
mov ebx, eax
push ebx
call fcn.004064b0
lea ecx, [esp + 0x7c]
call fcn.004095f0
jmp 0x416729
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c0b0
mov ecx, dword [esi + 4]
push ebx
call fcn.004064b0
lea ecx, [esp + 0x7c]
call fcn.004095f0
jmp 0x416729
cmp eax, 0x8200
jg 0x4156a7
je 0x415573
sub eax, 0x8101
cmp eax, 4
ja case.default.0x415a04
jmp dword [eax*4 + 0x416b58]
push 0
push 0x42dae8
mov ecx, esi
call fcn.00410a00
push 0
push 0
push 0
push 1
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c120
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 0
push 0x42dad4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push edi
push eax
push 1
push 1
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c120
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 0
push 0x42dad4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
push 0
push 1
push 1
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c120
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42dac0
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push 0
push eax
push 3
push 1
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c120
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42daac
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push 0
push eax
push 2
push 1
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c120
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42da9c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.00407240
push eax
lea ecx, [esp + 0x80]
call fcn.00404da0
mov dword [esp + 0x2cc], 0x24
call fcn.0041c3d0
mov ecx, eax
call fcn.0041be90
push 0x42da98
lea ecx, [esp + 0x174]
push ecx
mov edi, eax
call dword [sym.imp.kernel32.dll_lstrcpyA]
lea ecx, [esp + 0x7c]
call fcn.00403c40
push eax
lea edx, [esp + 0x174]
push edx
call dword [sym.imp.kernel32.dll_lstrcatA]
lea eax, [esp + 0x170]
push eax
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041bfb0
test al, al
je 0x41565b
push 2
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c020
push 4
call fcn.00410610
mov ecx, eax
call fcn.004101c0
push eax
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041bff0
push ebx
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c050
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c080
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
lea ecx, [esp + 0x7c]
call fcn.004095f0
jmp 0x416729
push 0x30
push 0x42da7c
lea ecx, [esp + 0x84]
call fcn.00403c40
push eax
call fcn.0040b5a0
mov ecx, eax
call fcn.00417bb0
push eax
call dword [sym.imp.user32.dll_MessageBoxA]
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c0b0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
lea ecx, [esp + 0x7c]
call fcn.004095f0
jmp 0x416729
cmp eax, 0x8300
jg 0x4159e5
je 0x4157e7
sub eax, 0x8201
cmp eax, 4
ja case.default.0x415a04
jmp dword [eax*4 + 0x416b6c]
push 0
push 0x42da6c
mov ecx, esi
call fcn.00410a00
push 0
push 0
push 0
push 2
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c120
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42da5c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push edi
push eax
push 1
push 2
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c120
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42da48
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
push 0
push 1
push 2
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c120
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42da38
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push 0
push eax
push 3
push 2
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c120
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42da24
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push 0
push eax
push 2
push 2
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c120
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
xor ebx, ebx
push 0x42da1c
lea ecx, [esp + 0x30]
mov dword [esp + 0x70], ebx
call fcn.00404da0
push 2
push 0x42da0c
mov ecx, esi
mov dword [esp + 0x2d4], 0x25
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], eax
call fcn.00407240
push eax
lea ecx, [esp + 0x4c]
call fcn.00404da0
push 0x42da00
lea ecx, [esp + 0x4c]
mov byte [esp + 0x2d0], 0x26
call fcn.00403c40
push eax
push 0x42d9f8
call fcn.0040fd50
mov ecx, eax
call fcn.0040fbb0
test al, al
je 0x41588a
push 0x42da00
lea ecx, [esp + 0x4c]
call fcn.00403c40
push eax
push 0x42d9f8
call fcn.0040fd50
mov ecx, eax
call fcn.0040fb40
push eax
lea ecx, [esp + 0x30]
call fcn.00405810
jmp 0x415898
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x30]
call fcn.00410fb0
lea ecx, [esp + 0x2c]
call fcn.00403c40
push eax
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c180
test al, al
lea ecx, [esp + 0x48]
jne 0x416417
push 0x42d9ec
call fcn.00403c40
push eax
push 0x42d9f8
call fcn.0040fd50
mov ecx, eax
call fcn.0040fbb0
test al, al
je 0x4158fc
push 0x42d9ec
lea ecx, [esp + 0x4c]
call fcn.00403c40
push eax
push 0x42d9f8
call fcn.0040fd50
mov ecx, eax
call fcn.0040fb60
mov ebx, eax
call fcn.0041c3d0
mov ecx, eax
call fcn.0041bf30
push ebx
lea ecx, [esp + 0x30]
mov edi, eax
call fcn.00403c40
push eax
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041bfd0
test al, al
je 0x415990
push 3
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c020
push 5
call fcn.00410610
mov ecx, eax
call fcn.004101c0
push eax
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041bff0
mov edx, dword [esp + 0x20]
push edx
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c050
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c080
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
lea ecx, [esp + 0x48]
call fcn.004095f0
lea ecx, [esp + 0x2c]
call fcn.004095f0
jmp 0x416729
push 0x30
push 0x42d9d0
lea ecx, [esp + 0x50]
call fcn.00403c40
push eax
call fcn.0040b5a0
mov ecx, eax
call fcn.00417bb0
push eax
call dword [sym.imp.user32.dll_MessageBoxA]
push edi
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c0b0
mov eax, dword [esp + 0x6c]
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
lea ecx, [esp + 0x48]
call fcn.004095f0
lea ecx, [esp + 0x2c]
call fcn.004095f0
jmp 0x416729
cmp eax, 0x9000
jg 0x415b1b
je 0x415af0
sub eax, 0x8301
cmp eax, 5
ja case.default.0x415a04
jmp dword [eax*4 + 0x416b80]
push 0
push 0x42d9c0
mov ecx, esi
call fcn.00410a00
push 0
push 0
push 0
jmp 0x415a9c
push 2
push 0x42d9b0
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push edi
push eax
push 1
jmp 0x415a9c
push 1
push 0x42d99c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
push 0
push 1
jmp 0x415a9c
push 1
push 0x42d988
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push 0
push eax
push 3
jmp 0x415a9c
push 1
push 0x42d974
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push 0
push eax
push 2
push 3
call fcn.0041c3d0
mov ecx, eax
call fcn.0041c120
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42d958
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
test eax, eax
setne al
push eax
call fcn.0041c3d0
mov ecx, eax
call fcn.0041be80
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 0
push 0x42d948
mov ecx, esi
call fcn.00410a00
push 1
call fcn.00419160
mov ecx, eax
call fcn.00419110
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
cmp eax, 0x9301
jg 0x415eca
je 0x415e9c
cmp eax, 0x9105
jg 0x415d3f
je 0x415cc0
cmp eax, 0x9102
jg 0x415c2a
je 0x415bf1
sub eax, 0x9001
je 0x415bc6
sub eax, 0xff
je 0x415b95
dec eax
jne case.default.0x415a04
push 1
push 0x42d930
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.00419160
mov ecx, eax
call fcn.00419070
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42d918
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.00419160
mov ecx, eax
call fcn.00418fb0
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 0
push 0x42d908
mov ecx, esi
call fcn.00410a00
push 0
call fcn.00419160
mov ecx, eax
call fcn.00419110
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42d8f0
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.00419160
mov ecx, eax
call fcn.004190d0
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
sub eax, 0x9103
je 0x415c87
dec eax
jne case.default.0x415a04
push 3
push 0x42d8d4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
push eax
call fcn.00419160
mov ecx, eax
call fcn.004190d0
mov edx, dword [eax]
push edi
push ebx
mov ecx, eax
call dword [edx + 0x14]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42d8f0
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
push eax
call fcn.00419160
mov ecx, eax
call fcn.004190d0
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0x10]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 3
push 0x42d8d4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.00407240
push eax
lea ecx, [esp + 0x80]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov dword [esp + 0x2cc], 0x27
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], eax
call fcn.004071d0
push eax
call fcn.00419160
mov ecx, eax
call fcn.004190d0
mov edi, eax
mov ebx, dword [edi]
lea ecx, [esp + 0x7c]
call fcn.00403c40
push eax
mov eax, dword [esp + 0x24]
push eax
mov ecx, edi
call dword [ebx + 0x18]
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
lea ecx, [esp + 0x7c]
call fcn.004095f0
jmp 0x416729
cmp eax, 0x9202
jg 0x415e03
je 0x415dd8
sub eax, 0x9200
je 0x415d9b
dec eax
jne case.default.0x415a04
push 2
push 0x42d8bc
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push edi
push eax
call fcn.0040b5a0
mov ecx, eax
call fcn.0040b4a0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42d8a4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
push edi
push eax
call fcn.0040b5a0
mov ecx, eax
call fcn.0040b490
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 0
push 0x42d890
mov ecx, esi
call fcn.00410a00
push 1
call fcn.0040b5a0
mov ecx, eax
call fcn.0040b4b0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
cmp eax, 0x9203
je 0x415e71
cmp eax, 0x9300
jne case.default.0x415a04
push 1
push 0x42d87c
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.00407240
push eax
lea ecx, [esp + 0x80]
call fcn.00404da0
lea ecx, [esp + 0x7c]
mov dword [esp + 0x2cc], 0x28
call fcn.00403c40
push eax
call fcn.00418c60
mov ecx, eax
call fcn.00418cd0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
lea ecx, [esp + 0x7c]
call fcn.004095f0
jmp 0x416729
push 0
push 0x42d868
mov ecx, esi
call fcn.00410a00
push 0
call fcn.0040b5a0
mov ecx, eax
call fcn.0040b4b0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 0
push 0x42d850
mov ecx, esi
call fcn.00410a00
call fcn.00418c60
mov ecx, eax
call fcn.00418bb0
mov ecx, dword [esi + 4]
neg al
sbb eax, eax
neg eax
push eax
call fcn.004064b0
jmp 0x416729
cmp eax, 0xa101
jg 0x4160ef
je 0x416048
cmp eax, 0xa001
jg 0x415fb4
je 0x415f58
cmp eax, 0x9302
je 0x415f23
cmp eax, 0xa000
jne case.default.0x415a04
push 0
push 0x42d840
mov ecx, esi
call fcn.00410a00
call fcn.0040c110
mov ecx, eax
call fcn.0040bfa0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 0
push 0x42d828
mov ecx, esi
call fcn.00410a00
call fcn.00418c60
mov ecx, eax
call fcn.00418b00
call fcn.00418c60
mov ecx, eax
call fcn.00418b20
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 1
push 0x42d818
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.00407240
push eax
lea ecx, [esp + 0x80]
call fcn.00404da0
lea ecx, [esp + 0x7c]
mov dword [esp + 0x2cc], 0x29
call fcn.00403c40
push eax
call fcn.0040c110
mov ecx, eax
call fcn.0040bf70
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
lea ecx, [esp + 0x7c]
call fcn.004095f0
jmp 0x416729
cmp eax, 0xa002
je 0x41601f
cmp eax, 0xa100
jne case.default.0x415a04
push 4
push 0x42d800
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], eax
call fcn.004071d0
mov ecx, dword [esp + 0x20]
push edi
push ebx
push ecx
push eax
call fcn.0040c110
mov ecx, eax
call fcn.0040bc50
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 0
push 0x42d7ec
mov ecx, esi
call fcn.00410a00
call fcn.0040c110
mov ecx, eax
call fcn.0040bff0
mov ecx, dword [esi + 4]
push 1
call fcn.004064b0
jmp 0x416729
push 2
push 0x42d7d4
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov dword [esp + 0x20], eax
call fcn.004071d0
mov ebx, eax
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0xac]
mov edi, eax
push edi
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push 0x12c0
push 0x320
mov ecx, eax
call dword [edx + 0x10]
push edi
call fcn.0041c4d0
mov ecx, dword [esp + 0x24]
mov edx, dword [eax]
add esp, 4
push ecx
mov ecx, eax
call dword [edx + 0x74]
push ebx
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
push edi
mov ecx, eax
call dword [edx + 0xb8]
push edi
call fcn.0041c4d0
mov edx, dword [eax]
add esp, 4
mov ecx, eax
call dword [edx + 0x18]
push eax
call fcn.0040c110
mov ecx, eax
call fcn.0040bd80
mov ecx, dword [esi + 4]
push edi
call fcn.004064b0
jmp 0x416729
cmp eax, 0xb000
jg 0x4161c6
je 0x416152
sub eax, 0xa102
je 0x416132
dec eax
jne case.default.0x415a04
push 0
push 0x42d7b8
mov ecx, esi
call fcn.00410a00
call fcn.0040c110
mov ecx, eax
call fcn.0040bd20
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
jmp 0x416729
push 0
push 0x42d7a0
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
push 0x12c0
call fcn.004064b0
jmp 0x416729
push 3
push 0x42d790
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov dword [esp + 0x2cc], 0x2a
call fcn.00407240
push eax
lea ecx, [esp + 0x80]
call fcn.00404da0
push edi
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x84]
mov byte [esp + 0x2d4], 0x2b
call fcn.00410af0
cmp eax, 0xffffffff
jne 0x41640a
or eax, eax
jmp 0x41640a
sub eax, 0xb001
je 0x416310
dec eax
je 0x4161ef
mov ecx, dword [esi + 4]
call fcn.004062d0
push eax
push 0x42d760
call fcn.004072b0
add esp, 8
jmp 0x416729
push 0x42c33a
lea ecx, [esp + 0xe8]
call fcn.00404da0
push 3
push 0x42d754
mov ecx, esi
mov dword [esp + 0x2d4], 0x2e
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov ebx, eax
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.00407240
push eax
lea ecx, [esp + 0xc0]
call fcn.00404da0
cmp dword [esp + 0xd0], edi
mov byte [esp + 0x2cc], 0x2f
jg 0x416266
push 0x42c33a
lea ecx, [esp + 0xe8]
call fcn.00404480
jmp 0x4162de
test ebx, ebx
jl 0x41629e
push ebx
push edi
lea ecx, [esp + 0x15c]
push ecx
lea ecx, [esp + 0xc8]
call fcn.004044b0
push eax
lea ecx, [esp + 0xe8]
mov byte [esp + 0x2d0], 0x30
call fcn.00405840
lea ecx, [esp + 0x154]
jmp 0x4162d1
push 0xffffffffffffffff
push edi
lea edx, [esp + 0x124]
push edx
lea ecx, [esp + 0xc8]
call fcn.004044b0
push eax
lea ecx, [esp + 0xe8]
mov byte [esp + 0x2d0], 0x31
call fcn.00405840
lea ecx, [esp + 0x11c]
mov byte [esp + 0x2cc], 0x2f
call fcn.004095f0
lea ecx, [esp + 0xe4]
call fcn.00403c40
mov ecx, dword [esi + 4]
push eax
call fcn.00406550
lea ecx, [esp + 0xbc]
call fcn.004095f0
lea ecx, [esp + 0xe4]
call fcn.004095f0
jmp 0x416729
push 3
push 0x42d790
mov ecx, esi
call fcn.00410a00
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.00407240
push eax
lea ecx, [esp + 0x30]
call fcn.00404da0
mov ecx, dword [esi + 4]
mov dword [esp + 0x2cc], 0x2c
call fcn.00407240
push eax
lea ecx, [esp + 0x80]
call fcn.00404da0
mov eax, dword [esp + 0x90]
test eax, eax
mov byte [esp + 0x2cc], 0x2d
mov ebx, eax
jne 0x41637b
push 0x42d730
mov ecx, esi
call fcn.004109e0
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x41638f
push 0x42d714
mov ecx, esi
call fcn.004109e0
push 0
lea ecx, [esp + 0x30]
call fcn.004053d0
test edi, edi
mov al, byte [eax]
mov byte [esp + 0x1c], al
jge 0x4163b2
push 0x42d6f0
mov ecx, esi
call fcn.004109e0
jmp 0x416406
cmp edi, ebx
mov dword [esp + 0x10], 0xffffffff
jge 0x416406
mov edi, edi
push edi
lea ecx, [esp + 0x80]
call fcn.004053d0
mov al, byte [eax]
cmp al, 0x81
jb 0x4163d7
cmp al, 0x9f
jbe 0x4163df
cmp al, 0xe0
jb 0x4163e2
cmp al, 0xfc
ja 0x4163e2
inc edi
jmp 0x4163fb
push edi
lea ecx, [esp + 0x80]
call fcn.004053d0
movsx ecx, byte [eax]
movzx edx, byte [esp + 0x1c]
cmp ecx, edx
je 0x416402
inc edi
cmp edi, ebx
jl 0x4163c0
jmp 0x416406
mov dword [esp + 0x10], edi
mov eax, dword [esp + 0x10]
mov ecx, dword [esi + 4]
push eax
call fcn.004064b0
lea ecx, [esp + 0x7c]
call fcn.004095f0
lea ecx, [esp + 0x2c]
call fcn.004095f0
jmp 0x416729
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004062f0
lea ecx, [eax - 1]
cmp ecx, 0xa
ja case.default.0x416440
jmp dword [ecx*4 + 0x416b98]
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
mov edi, eax
call fcn.004062f0
test edi, edi
je 0x416729
mov ecx, dword [esi + 4]
push eax
call fcn.00406260
jmp 0x416729
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
mov edi, eax
call fcn.004062f0
test edi, edi
jne 0x416729
mov ecx, dword [esi + 4]
push eax
call fcn.00406260
jmp 0x416729
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004062f0
mov edi, eax
mov ecx, dword [esi + 4]
push edi
call fcn.00406260
mov ecx, dword [esi + 4]
mov byte [0x4642ab], 1
call fcn.00406240
test eax, eax
jne 0x416729
mov dword [esi + 0x8074], edi
jmp 0x416729
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004062f0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.004062d0
push eax
push 0x10
call fcn.00410610
mov ecx, eax
call fcn.00410290
jmp 0x4164a7
mov ecx, dword [esi + 4]
call fcn.004062d0
push eax
push 0x10
call fcn.00410610
mov ecx, eax
call fcn.00410290
mov ecx, dword [esi + 4]
call fcn.004071d0
jmp 0x4164a5
mov eax, dword [esi + 0x5c]
test eax, eax
jle case.0x416440.5
dec eax
mov dword [esi + 0x5c], eax
mov ecx, esi
call fcn.00410ca0
jmp 0x416729
push 0x10
call fcn.00410610
mov ecx, eax
call fcn.004101c0
jmp 0x4164a5
mov ecx, dword [esi + 4]
call fcn.004071d0
test eax, eax
jne 0x416551
or eax, 0xffffffff
mov ecx, dword [esi + 4]
push eax
push 0xffffffffffffffff
call fcn.004062f0
mov ecx, dword [esi + 4]
push eax
call fcn.00406b50
jmp 0x416729
mov ecx, dword [esi + 4]
call fcn.004071d0
test eax, eax
jne 0x416579
or eax, 0xffffffff
mov ecx, dword [esi + 4]
push eax
push 0xffffffffffffffff
call fcn.004062f0
mov ecx, dword [esi + 4]
push eax
call fcn.00407030
jmp 0x416729
push eax
push 0x42d6c4
call fcn.004072b0
add esp, 8
jmp 0x416729
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004062f0
mov ecx, eax
dec ecx
je 0x4165c9
push eax
push 0x42d690
call fcn.004072b0
add esp, 8
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004062f0
mov ecx, dword [esi + 4]
push eax
call fcn.004063b0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004062f0
mov ecx, eax
dec ecx
je 0x4166b8
dec ecx
je 0x416657
dec ecx
je 0x416611
push eax
push 0x42d65c
call fcn.004072b0
add esp, 8
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.00406420
test al, al
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
je 0x41662e
call fcn.004062f0
xor al, al
jmp 0x41672b
call fcn.004062f0
mov edi, eax
test edi, edi
jne 0x416645
push 0x42d62c
mov ecx, esi
call fcn.004109e0
mov ecx, dword [esi + 4]
neg edi
push edi
call fcn.00406730
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.00406420
test al, al
mov ecx, dword [esi + 4]
je 0x416672
call fcn.004071d0
xor al, al
jmp 0x41672b
call fcn.00406330
test eax, eax
je 0x41668f
cmp eax, 1
je 0x41668f
mov ecx, dword [esi + 4]
call fcn.00406660
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004071d0
mov ecx, dword [esi + 4]
mov edi, eax
call fcn.00406660
mov ecx, dword [esi + 4]
push edi
call fcn.004064b0
mov ecx, dword [esi + 4]
push 1
call fcn.00406730
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.00406420
test al, al
je 0x4166d4
push 0x42d608
mov ecx, esi
call fcn.004109e0
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
push 0xffffffffffffffff
call fcn.004062f0
mov edi, eax
test edi, edi
jg 0x4166f0
push 0x42d62c
mov ecx, esi
call fcn.004109e0
mov ecx, dword [esi + 4]
push edi
call fcn.00406700
mov ecx, dword [esi + 4]
push eax
call fcn.00406d70
mov ecx, dword [esi + 4]
push eax
call fcn.00406470
xor al, al
jmp 0x41672b
mov ecx, dword [esi + 4]
call fcn.004062d0
sub eax, 4
push eax
push edi
push 0x42d5d0
call fcn.004072b0
add esp, 0xc
mov al, 1
mov ecx, dword [esp + 0x2c4]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x2bc]
xor ecx, dword [ebp + 4]
call fcn.004211fa
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret