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

Disassembly:
mov edx, 0x10
mov eax, 7
mov ecx, dword [edi]
cmp ecx, 0xf
jg 0x416843
je 0x4165eb
cmp ecx, eax
jg 0x416546
je 0x4162cb
test ecx, ecx
je 0x4163a6
dec ecx
je 0x415f80
dec ecx
je 0x416020
dec ecx
je 0x4160a6
dec ecx
je 0x416104
dec ecx
je 0x416124
dec ecx
je 0x416232
mov eax, 0xfffffffe
dec eax
add esp, 0x58
inc ecx
pop edi
inc ecx
pop esi
inc ecx
pop ebp
inc ecx
pop esp
pop edi
pop esi
pop ebx
pop ebp
ret
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
cmp esi, edx
jb 0x415f5e
inc esp
mov dword [edi + 0x10], esp
inc ecx
cmp ah, 8
je 0x415f9a
dec eax
lea eax, [0x237dc]
jmp 0x4164fa
inc ecx
test esp, 0xe000
je 0x415faf
dec eax
lea eax, [0x237a7]
jmp 0x4164fa
dec eax
mov ecx, dword [edi + 0x20]
dec eax
test ecx, ecx
je 0x415fc3
inc ecx
mov eax, esp
shr eax, 8
and eax, 1
mov dword [ecx], eax
test dword [edi + 0x10], 0x200
je 0x415ff0
inc esp
mov byte [ebp - 0x28], ah
inc ecx
shr esp, 8
dec eax
lea edx, [ebp - 0x28]
inc esp
mov byte [ebp - 0x27], ah
mov ecx, dword [edi + 0x18]
inc ecx
mov eax, 2
call fcn.00415691
inc ebp
xor ebx, ebx
mov dword [edi + 0x18], eax
inc ebp
mov esp, ebx
inc ecx
mov esi, ebx
mov dword [edi], 2
jmp 0x416020
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
cmp esi, 0x20
jb 0x415ffe
dec eax
mov eax, dword [edi + 0x20]
dec eax
test eax, eax
je 0x416032
inc esp
mov dword [eax + 4], esp
test dword [edi + 0x10], 0x200
je 0x416071
inc ecx
mov eax, esp
inc esp
mov byte [ebp - 0x28], ah
dec eax
lea edx, [ebp - 0x28]
shr eax, 8
inc ecx
mov eax, 4
mov byte [ebp - 0x27], al
inc ecx
mov eax, esp
inc ecx
shr esp, 0x18
shr eax, 0x10
inc esp
mov byte [ebp - 0x25], ah
mov byte [ebp - 0x26], al
mov ecx, dword [edi + 0x18]
call fcn.00415691
inc ebp
xor ebx, ebx
mov dword [edi + 0x18], eax
inc ebp
mov esp, ebx
inc ecx
mov esi, ebx
mov dword [edi], 3
mov edx, 0x10
jmp 0x4160a6
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
cmp esi, edx
jb 0x416084
dec eax
mov ecx, dword [edi + 0x20]
dec eax
test ecx, ecx
je 0x4160c7
inc ecx
movzx eax, ah
mov dword [ecx + 8], eax
dec eax
mov eax, dword [edi + 0x20]
inc ecx
mov ecx, esp
shr ecx, 8
mov dword [eax + 0xc], ecx
test dword [edi + 0x10], 0x200
je 0x4160f8
inc esp
mov byte [ebp - 0x28], ah
inc ecx
shr esp, 8
dec eax
lea edx, [ebp - 0x28]
inc esp
mov byte [ebp - 0x27], ah
mov ecx, dword [edi + 0x18]
inc ecx
mov eax, 2
call fcn.00415691
inc ebp
xor ebx, ebx
mov dword [edi + 0x18], eax
inc ecx
lea edx, [ebx + 0x10]
inc ebp
mov esp, ebx
inc ecx
mov esi, ebx
mov dword [edi], 4
test dword [edi + 0x10], 0x400
jne 0x416193
dec eax
mov eax, dword [edi + 0x20]
dec eax
test eax, eax
je 0x41611e
dec esp
mov dword [eax + 0x10], ebx
mov dword [edi], 5
test dword [edi + 0x10], 0x400
je 0x416228
mov ebx, dword [edi + 0x48]
inc ecx
cmp ebx, edi
inc ecx
cmova ebx, edi
test ebx, ebx
je 0x41621e
dec eax
mov eax, dword [edi + 0x20]
dec eax
test eax, eax
je 0x4161f2
dec esp
mov ecx, dword [eax + 0x10]
dec ebp
test ecx, ecx
je 0x4161f2
mov edx, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
sub edx, dword [edi + 0x48]
lea eax, [ebx + edx]
cmp eax, ecx
jbe 0x4161e0
sub ecx, edx
jmp 0x4161e2
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
cmp esi, edx
jb 0x416171
dec eax
mov eax, dword [edi + 0x20]
inc esp
mov dword [edi + 0x48], esp
dec eax
test eax, eax
je 0x4161a8
inc esp
mov dword [eax + 0x18], esp
test dword [edi + 0x10], 0x200
je 0x4161d5
inc esp
mov byte [ebp - 0x28], ah
inc ecx
shr esp, 8
dec eax
lea edx, [ebp - 0x28]
inc esp
mov byte [ebp - 0x27], ah
mov ecx, dword [edi + 0x18]
inc ecx
mov eax, 2
call fcn.00415691
inc ebp
xor ebx, ebx
mov dword [edi + 0x18], eax
inc ebp
mov esp, ebx
inc ecx
mov esi, ebx
jmp 0x41611e
mov ecx, ebx
inc esp
mov eax, ecx
mov ecx, edx
dec ecx
mov edx, ebp
dec ecx
add ecx, ecx
call fcn.004181a1
test dword [edi + 0x10], 0x200
je 0x41620c
mov ecx, dword [edi + 0x18]
inc esp
mov eax, ebx
dec ecx
mov edx, ebp
call fcn.00415691
mov dword [edi + 0x18], eax
sub dword [edi + 0x48], ebx
mov eax, ebx
inc esp
sub edi, ebx
dec esp
add ebp, eax
inc ebp
xor ebx, ebx
dec esp
mov dword [ebp - 0x18], ebp
inc esp
cmp dword [edi + 0x48], ebx
jne 0x416347
inc esp
mov dword [edi + 0x48], ebx
mov dword [edi], 6
test dword [edi + 0x10], 0x800
je 0x4162b4
inc ebp
test edi, edi
je 0x416347
inc ecx
mov ebx, ebx
dec ebp
mov eax, ebp
dec eax
mov eax, dword [edi + 0x20]
inc ebp
movzx ebp, byte [eax]
inc ebx
dec ecx
inc eax
dec eax
test eax, eax
je 0x416274
dec eax
mov edx, dword [eax + 0x20]
dec eax
test edx, edx
je 0x416274
mov ecx, dword [edi + 0x48]
cmp ecx, dword [eax + 0x28]
jae 0x416274
inc esp
mov byte [ecx + edx], ch
inc dword [edi + 0x48]
inc ebp
test ebp, ebp
je 0x41627e
inc ecx
cmp ebx, edi
jb 0x41624a
test dword [edi + 0x10], 0x200
je 0x41629c
dec eax
mov edx, dword [ebp - 0x18]
mov ecx, dword [edi + 0x18]
inc esp
mov eax, ebx
call fcn.00415691
inc ebp
xor ebx, ebx
mov dword [edi + 0x18], eax
mov eax, ebx
inc esp
sub edi, ebx
dec eax
add dword [ebp - 0x18], eax
inc ebp
test ebp, ebp
jne 0x416347
dec esp
mov ebp, dword [ebp - 0x18]
jmp 0x4162c1
dec eax
mov eax, dword [edi + 0x20]
dec eax
test eax, eax
je 0x4162c1
dec esp
mov dword [eax + 0x20], ebx
inc esp
mov dword [edi + 0x48], ebx
mov dword [edi], 7
test dword [edi + 0x10], 0x1000
je 0x416509
inc ebp
test edi, edi
je 0x416347
inc ecx
mov ebx, ebx
dec ebp
mov eax, ebp
dec eax
mov eax, dword [edi + 0x20]
inc ebp
movzx ebp, byte [eax]
inc ebx
dec ecx
inc eax
dec eax
test eax, eax
je 0x41630d
dec eax
mov edx, dword [eax + 0x30]
dec eax
test edx, edx
je 0x41630d
mov ecx, dword [edi + 0x48]
cmp ecx, dword [eax + 0x38]
jae 0x41630d
inc esp
mov byte [ecx + edx], ch
inc dword [edi + 0x48]
inc ebp
test ebp, ebp
je 0x416317
inc ecx
cmp ebx, edi
jb 0x4162e3
test dword [edi + 0x10], 0x200
je 0x416335
dec eax
mov edx, dword [ebp - 0x18]
mov ecx, dword [edi + 0x18]
inc esp
mov eax, ebx
call fcn.00415691
inc ebp
xor ebx, ebx
mov dword [edi + 0x18], eax
mov eax, ebx
inc esp
sub edi, ebx
dec eax
add dword [ebp - 0x18], eax
inc ebp
test ebp, ebp
je 0x416516
inc esp
mov ebp, dword [ebp + 0x48]
dec eax
mov eax, dword [ebp - 0x10]
mov ebx, dword [ebp + 0x60]
inc ebp
mov dword [esi + 8], edi
dec ecx
mov dword [esi + 0x10], eax
mov eax, dword [ebp + 0x58]
inc ecx
mov dword [esi + 0x18], eax
dec eax
mov eax, dword [ebp - 0x18]
dec ecx
mov dword [esi], eax
mov dword [edi + 0x44], esi
xor esi, esi
inc esp
mov dword [edi + 0x40], esp
cmp dword [edi + 0x2c], esi
jne 0x416389
cmp dword [edi], 0x1a
jge 0x4173fb
inc ecx
cmp ebx, dword [esi + 0x18]
je 0x4173fb
mov edx, ebx
dec ecx
mov ecx, esi
call fcn.00415d61
test eax, eax
je 0x4173fb
mov dword [edi], 0x1e
jmp 0x4171f9
inc esp
cmp dword [edi + 8], ebx
jne 0x4163d5
mov dword [edi], 0xc
jmp 0x415ef0
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
cmp esi, edx
jb 0x4163b7
test byte [edi + 8], 2
je 0x416431
inc ecx
cmp esp, 0x8b1f
jne 0x416431
inc ebp
xor eax, eax
xor edx, edx
xor ecx, ecx
call fcn.00415691
dec eax
lea edx, [ebp - 0x28]
inc ecx
mov eax, 2
mov dword [edi + 0x18], eax
inc sp
mov dword [ebp - 0x28], esp
mov ecx, dword [edi + 0x18]
call fcn.00415691
mov dword [edi], 1
mov dword [edi + 0x18], eax
inc ebp
xor ebx, ebx
inc ecx
mov esi, ebx
inc ebp
mov esp, ebx
inc esp
mov eax, dword [ebp + 0x60]
inc esp
mov ecx, dword [ebp + 0x58]
dec esp
mov edx, dword [ebp - 0x10]
jmp 0x415eeb
dec eax
mov eax, dword [edi + 0x20]
inc esp
mov dword [edi + 0x10], ebx
dec eax
test eax, eax
je 0x416442
or dword [eax + 0x40], 0xffffffff
test byte [edi + 8], 1
je 0x4164f3
inc ecx
movzx ecx, ah
inc ecx
mov eax, esp
shr eax, 8
shl ecx, 8
add ecx, eax
mov eax, 0x8421085
mul ecx
mov eax, ecx
sub eax, edx
shr eax, 1
add eax, edx
shr eax, 4
imul eax, eax, 0x1f
cmp ecx, eax
jne 0x4164ee
inc ecx
mov eax, esp
and al, 0xf
cmp al, 8
je 0x416493
dec eax
lea eax, [0x232ed]
dec ecx
mov dword [esi + 0x20], eax
mov dword [edi], 0x1d
jmp 0x415eeb
inc ecx
shr esp, 4
add esi, 0xfffffffc
inc ecx
mov ecx, esp
and ecx, 0xf
add ecx, 8
inc esp
cmp dword [edi + 0x28], ebx
jne 0x4164e0
mov dword [edi + 0x28], ecx
mov eax, 1
inc ebp
xor eax, eax
xor edx, edx
shl eax, cl
xor ecx, ecx
mov dword [edi + 0x14], eax
call fcn.00414b29
inc ecx
shr esp, 8
inc ecx
not esp
mov dword [edi + 0x18], eax
inc ecx
mov dword [esi + 0x4c], eax
inc ecx
and esp, 2
inc ecx
or esp, 9
inc esp
mov dword [edi], esp
jmp 0x416417
cmp ecx, dword [edi + 0x28]
jbe 0x4164ac
dec eax
lea eax, [0x2324d]
jmp 0x416484
mov edx, 0x10
dec eax
lea eax, [0x23227]
dec ecx
mov dword [esi + 0x20], eax
mov dword [edi], 0x1d
jmp 0x415ef0
dec eax
mov eax, dword [edi + 0x20]
dec eax
test eax, eax
je 0x416516
dec esp
mov dword [eax + 0x30], ebx
dec esp
mov ebp, dword [ebp - 0x18]
inc esp
mov eax, dword [ebp + 0x60]
inc esp
mov ecx, dword [ebp + 0x58]
dec esp
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp + 0x50]
mov dword [edi], 8
mov edx, 0x10
test dword [edi + 0x10], 0x200
je 0x4167e7
jmp 0x4167c8
sub ecx, 8
je 0x416534
dec ecx
je 0x416670
dec ecx
je 0x4166ae
dec ecx
je 0x4166e4
dec ecx
je 0x4166f6
dec ecx
je 0x416579
dec ecx
jne 0x415f48
jmp 0x4165e0
mov ecx, esi
and ecx, 7
inc ecx
shr esp, cl
sub esi, ecx
jmp 0x4165a7
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
cmp esi, 0x20
jb 0x416585
inc ecx
mov eax, esp
inc ecx
movzx ecx, sp
not eax
shr eax, 0x10
cmp ecx, eax
je 0x4165c8
dec eax
lea eax, [0x2313e]
jmp 0x4164fa
mov dword [edi + 0x48], ecx
inc ebp
mov esp, ebx
inc ecx
mov esi, ebx
mov dword [edi], 0xe
cmp ebx, 6
je 0x416347
mov dword [edi], 0xf
mov eax, 7
inc esp
mov ebp, dword [edi + 0x48]
inc ebp
test ebp, ebp
je 0x416834
inc ebp
cmp ebp, edi
inc ebp
cmova ebp, edi
inc ebp
cmp ebp, ecx
inc ebp
cmova ebp, ecx
inc ebp
test ebp, ebp
je 0x416347
dec eax
mov edx, dword [ebp - 0x18]
inc ebp
mov eax, ebp
dec ecx
mov ecx, edx
inc ecx
mov ebx, ebp
call fcn.004181a1
dec eax
add dword [ebp - 0x18], ebx
inc esp
mov ecx, dword [ebp + 0x58]
dec esp
mov edx, dword [ebp - 0x10]
inc ebp
sub edi, ebp
inc ebp
sub ecx, ebp
dec esp
add edx, ebx
inc esp
sub dword [edi + 0x48], ebp
dec esp
mov ebp, dword [ebp - 0x18]
mov ebx, dword [ebp + 0x50]
inc esp
mov dword [ebp + 0x58], ecx
dec esp
mov dword [ebp - 0x10], edx
jmp 0x416828
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
cmp esi, 0x20
jb 0x41664e
inc ecx
mov ecx, esp
inc ecx
mov eax, esp
mov edx, 0xff00
shl eax, 0x10
and ecx, edx
inc ecx
mov esi, ebx
add ecx, eax
inc ecx
mov eax, esp
inc ecx
shr esp, 0x18
shr eax, 8
shl ecx, 8
and eax, edx
add eax, ecx
inc ecx
add eax, esp
inc ebp
mov esp, ebx
mov dword [edi + 0x18], eax
inc ecx
mov dword [esi + 0x4c], eax
mov dword [edi], 0xa
inc esp
cmp dword [edi + 0xc], ebx
je 0x4173b9
inc ebp
xor eax, eax
xor edx, edx
xor ecx, ecx
call fcn.00414b29
inc esp
mov eax, dword [ebp + 0x60]
inc esp
mov ecx, dword [ebp + 0x58]
dec esp
mov edx, dword [ebp - 0x10]
inc ebp
xor ebx, ebx
mov dword [edi + 0x18], eax
inc ecx
mov dword [esi + 0x4c], eax
mov dword [edi], 0xb
inc ecx
lea edx, [ebx + 0x10]
cmp ebx, 5
je 0x416347
cmp ebx, 6
je 0x416347
inc esp
cmp dword [edi + 4], ebx
je 0x416737
mov ecx, esi
mov eax, 7
mov dword [edi], 0x1a
and ecx, eax
inc ecx
shr esp, cl
sub esi, ecx
jmp 0x415ef5
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
cmp esi, 3
jb 0x416715
inc ecx
mov eax, esp
inc ecx
shr esp, 1
dec esi
and eax, 1
mov dword [edi + 4], eax
inc ecx
mov eax, esp
and eax, 3
je 0x416794
dec eax
je 0x416775
dec eax
je 0x416771
dec eax
jne 0x41679a
dec eax
lea eax, [0x22f84]
dec ecx
mov dword [esi + 0x20], eax
mov dword [edi], 0x1d
jmp 0x41679a
mov dword [edi], edx
jmp 0x41679a
dec eax
mov ecx, edi
call fcn.00415d39
mov dword [edi], 0x13
cmp ebx, 6
jne 0x41679a
inc ecx
shr esp, 2
add esi, 0xfffffffe
jmp 0x416347
mov dword [edi], 0xd
inc ecx
shr esp, 2
add esi, 0xfffffffe
jmp 0x415ef0
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
cmp esi, edx
jb 0x4167a6
movzx eax, word [edi + 0x18]
inc esp
cmp esp, eax
je 0x4167e1
dec eax
lea eax, [0x22ef5]
jmp 0x4164fa
inc ebp
mov esp, ebx
inc ecx
mov esi, ebx
dec eax
mov ecx, dword [edi + 0x20]
dec eax
test ecx, ecx
je 0x416807
mov eax, dword [edi + 0x10]
sar eax, 9
and eax, 1
mov dword [ecx + 0x3c], eax
dec eax
mov eax, dword [edi + 0x20]
mov dword [eax + 0x40], 1
inc ebp
xor eax, eax
xor edx, edx
xor ecx, ecx
call fcn.00415691
mov dword [edi + 0x18], eax
inc ecx
mov dword [esi + 0x4c], eax
mov dword [edi], 0xb
inc esp
mov ecx, dword [ebp + 0x58]
dec esp
mov edx, dword [ebp - 0x10]
inc esp
mov eax, dword [ebp + 0x60]
inc ebp
xor ebx, ebx
jmp 0x415eeb
dec esp
mov ebp, dword [ebp - 0x18]
mov dword [edi], 0xb
jmp 0x415ef5
cmp ecx, 0x17
jg 0x4171c8
je 0x417125
sub ecx, edx
je 0x4168ad
dec ecx
je 0x416907
dec ecx
je 0x416bd2
dec ecx
je 0x416d3d
dec ecx
je 0x416d43
dec ecx
je 0x416f50
dec ecx
jne 0x415f48
jmp 0x416fad
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
cmp esi, 0xe
jb 0x41688b
inc ecx
mov ecx, esp
inc ecx
shr esp, 5
add esi, 0xfffffff2
inc ecx
mov edx, esp
inc ecx
shr esp, 5
and ecx, 0x1f
inc ecx
mov eax, esp
and edx, 0x1f
add ecx, 0x101
and eax, 0xf
inc edx
inc ecx
shr esp, 4
add eax, 4
mov dword [edi + 0x74], ecx
mov dword [edi + 0x78], edx
mov dword [edi + 0x70], eax
cmp ecx, 0x11e
ja 0x4171bc
cmp edx, 0x1e
ja 0x4171bc
mov eax, 0x11
inc esp
mov dword [edi + 0x7c], ebx
mov dword [edi], eax
mov edx, 7
dec esp
lea eax, [0x22c9e]
mov eax, dword [edi + 0x70]
cmp dword [edi + 0x7c], eax
jae 0x41697b
jmp 0x41693f
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
cmp esi, 3
jb 0x41691d
mov eax, dword [edi + 0x7c]
inc ecx
movzx ecx, sp
inc ecx
shr esp, 3
inc ecx
movzx eax, word [eax + eax*2]
and cx, dx
mov word [edi + eax*2 + 0x88], cx
inc dword [edi + 0x7c]
add esi, 0xfffffffd
jmp 0x416913
mov eax, dword [edi + 0x7c]
inc ecx
movzx ecx, word [eax + eax*2]
inc sp
mov dword [edi + ecx*2 + 0x88], ebx
inc dword [edi + 0x7c]
cmp dword [edi + 0x7c], 0x13
jb 0x416967
dec eax
lea ecx, [edi + 0x68]
dec eax
lea eax, [edi + 0x548]
dec esp
lea ecx, [edi + 0x80]
mov dword [ecx], edx
dec ecx
mov dword [ecx], eax
dec eax
mov dword [edi + 0x58], eax
dec eax
lea eax, [edi + 0x308]
dec eax
lea edx, [edi + 0x88]
dec eax
mov dword [esp + 0x28], eax
dec eax
mov dword [esp + 0x20], ecx
xor ecx, ecx
inc esp
lea eax, [ecx + 0x13]
call fcn.00417955
inc ebp
xor ebx, ebx
mov dword [ebp + 0x48], eax
test eax, eax
je 0x4169df
dec eax
lea eax, [0x22ce1]
dec ecx
mov dword [esi + 0x20], eax
mov dword [edi], 0x1d
jmp 0x416420
dec esp
mov edx, dword [ebp - 0x10]
inc esp
mov dword [edi + 0x7c], ebx
mov dword [edi], 0x12
jmp 0x416bcd
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
mov ecx, dword [edi + 0x68]
mov eax, 1
shl eax, cl
lea ecx, [eax - 1]
inc ecx
mov eax, esp
dec eax
and ecx, eax
dec eax
mov eax, dword [edi + 0x58]
mov eax, dword [eax + ecx*4]
mov ecx, eax
mov dword [ebp - 0x24], eax
shr ecx, 8
movzx ecx, cl
cmp ecx, esi
ja 0x4169f2
mov ecx, eax
shr ecx, 0x10
cmp cx, dx
jae 0x416a9b
shr eax, 8
movzx ecx, al
cmp esi, ecx
jae 0x416a7b
inc ebp
test edi, edi
je 0x416347
clc
invalid
invalid
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
add esi, 8
inc ecx
dec edi
inc esp
add esp, eax
movzx eax, byte [ebp - 0x23]
dec esp
mov dword [ebp - 0x18], ebp
cmp esi, eax
jb 0x416a51
movzx ecx, byte [ebp - 0x23]
movzx eax, word [ebp - 0x22]
inc ecx
shr esp, cl
sub esi, ecx
mov ecx, dword [edi + 0x7c]
mov word [edi + ecx*2 + 0x88], ax
inc dword [edi + 0x7c]
jmp 0x416bd2
cmp word [ebp - 0x22], dx
jne 0x416b04
movzx edx, byte [ebp - 0x23]
inc esp
lea eax, [edx + 2]
jmp 0x416acd
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
inc ecx
cmp esi, eax
jb 0x416aab
mov eax, dword [edi + 0x7c]
mov ecx, edx
sub esi, edx
inc ecx
shr esp, cl
test eax, eax
je 0x416be2
inc ecx
mov edx, esp
dec eax
inc ecx
shr esp, 2
inc esp
movzx ecx, word [edi + eax*2 + 0x88]
and edx, 3
add edx, 3
add esi, 0xfffffffe
jmp 0x416ba6
inc esp
movzx eax, byte [ebp - 0x23]
mov eax, 0x11
cmp word [ebp - 0x22], ax
jne 0x416b5a
inc esi
inc ecx
lea edx, [eax + 3]
jmp 0x416b3c
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
cmp esi, edx
jb 0x416b1a
inc ecx
mov ecx, eax
mov eax, 0xfffffffd
inc ecx
shr esp, cl
inc ecx
mov edx, esp
and edx, 7
add edx, 3
inc ecx
shr esp, 3
jmp 0x416b9e
inc ecx
lea edx, [eax + 7]
jmp 0x416b82
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
cmp esi, edx
jb 0x416b60
inc ecx
mov ecx, eax
mov eax, 0xfffffff9
inc ecx
shr esp, cl
inc ecx
mov edx, esp
and edx, 0x7f
add edx, 0xb
inc ecx
shr esp, 7
inc ecx
sub eax, eax
inc ebp
mov ecx, ebx
add esi, eax
mov eax, dword [edi + 0x7c]
lea ecx, [edx + eax]
mov eax, dword [edi + 0x78]
add eax, dword [edi + 0x74]
cmp ecx, eax
ja 0x416c00
test edx, edx
je 0x416bcd
mov eax, dword [edi + 0x7c]
inc sp
mov dword [edi + eax*2 + 0x88], ecx
inc dword [edi + 0x7c]
dec edx
retf 0xed75
mov edx, 0x10
mov eax, dword [edi + 0x78]
add eax, dword [edi + 0x74]
cmp dword [edi + 0x7c], eax
jae 0x416c11
jmp 0x416a14
inc esp
mov eax, dword [ebp + 0x60]
inc esp
mov ecx, dword [ebp + 0x58]
dec eax
lea eax, [0x22aa0]
dec ecx
mov dword [esi + 0x20], eax
mov dword [edi], 0x1d
jmp 0x415eeb
dec eax
lea eax, [0x22a8a]
dec ecx
mov dword [esi + 0x20], eax
mov dword [edi], 0x1d
cmp dword [edi], 0x1d
inc esp
mov eax, dword [ebp + 0x60]
inc esp
mov ecx, dword [ebp + 0x58]
mov edx, 0x10
lea eax, [edx - 9]
je 0x415ef5
inc sp
cmp dword [edi + 0x288], ebx
jne 0x416c4a
dec eax
lea eax, [0x22a2e]
dec ecx
mov dword [esi + 0x20], eax
mov dword [edi], 0x1d
jmp 0x415ef0
inc esp
mov eax, dword [edi + 0x74]
dec eax
lea eax, [edi + 0x548]
dec esp
lea ebp, [edi + 0x308]
dec eax
mov dword [edi + 0x80], eax
dec eax
mov dword [edi + 0x58], eax
dec eax
lea eax, [edi + 0x68]
dec eax
lea edx, [edi + 0x88]
dec esp
lea ecx, [edi + 0x80]
mov ecx, 1
dec esp
mov dword [esp + 0x28], ebp
mov dword [eax], 9
dec eax
mov dword [esp + 0x20], eax
call fcn.00417955
inc ebp
xor ebx, ebx
mov dword [ebp + 0x48], eax
test eax, eax
je 0x416cc6
dec eax
lea eax, [0x229a5]
dec esp
mov ebp, dword [ebp - 0x18]
inc esp
mov eax, dword [ebp + 0x60]
inc esp
mov ecx, dword [ebp + 0x58]
dec esp
mov edx, dword [ebp - 0x10]
mov ebx, dword [ebp + 0x50]
dec ecx
mov dword [esi + 0x20], eax
mov dword [edi], 0x1d
jmp 0x415eeb
dec eax
mov eax, dword [edi + 0x80]
inc esp
mov eax, dword [edi + 0x78]
dec eax
lea ecx, [edi + 0x6c]
dec eax
mov dword [edi + 0x60], eax
mov eax, dword [edi + 0x74]
mov dword [ecx], 6
dec esp
mov dword [esp + 0x28], ebp
dec eax
mov dword [esp + 0x20], ecx
dec esp
lea ecx, [edi + 0x80]
dec eax
lea edx, [edi + eax*2 + 0x88]
mov ecx, 2
call fcn.00417955
inc ebp
xor ebx, ebx
inc esp
mov ebp, eax
mov dword [ebp + 0x48], eax
test eax, eax
je 0x416d1b
dec eax
lea eax, [0x22918]
jmp 0x416ca4
mov ebx, dword [ebp + 0x50]
mov dword [edi], 0x13
cmp ebx, 6
je 0x41634b
dec esp
mov ebp, dword [ebp - 0x18]
inc esp
mov eax, dword [ebp + 0x60]
inc esp
mov ecx, dword [ebp + 0x58]
dec esp
mov edx, dword [ebp - 0x10]
mov dword [edi], 0x14
inc ecx
cmp edi, 6
jb 0x416dba
inc ecx
cmp ecx, 0x102
jb 0x416dba
dec ebp
mov dword [esi + 0x10], edx
inc ebp
mov dword [esi + 0x18], ecx
dec ebp
mov dword [esi], ebp
inc ebp
mov dword [esi + 8], edi
inc ecx
mov edx, eax
dec ecx
mov ecx, esi
inc esp
mov dword [edi + 0x40], esp
mov dword [edi + 0x44], esi
call fcn.004156a1
cmp dword [edi], 0xb
dec ebp
mov edx, dword [esi + 0x10]
inc ebp
mov ecx, dword [esi + 0x18]
dec ebp
mov ebp, dword [esi]
inc ebp
mov edi, dword [esi + 8]
inc esp
mov esp, dword [edi + 0x40]
mov esi, dword [edi + 0x44]
inc esp
mov eax, dword [ebp + 0x60]
mov edx, 0x10
dec esp
mov dword [ebp - 0x10], edx
inc esp
mov dword [ebp + 0x58], ecx
dec esp
mov dword [ebp - 0x18], ebp
lea eax, [edx - 9]
inc esp
lea ebx, [edx - 0x10]
jne 0x415ef5
or dword [edi + 0x1bdc], 0xffffffff
jmp 0x415ef5
mov ecx, dword [edi + 0x68]
mov eax, 1
inc esp
mov dword [edi + 0x1bdc], ebx
dec esp
mov ebx, dword [edi + 0x58]
shl eax, cl
lea ecx, [eax - 1]
inc ecx
mov eax, esp
dec eax
and ecx, eax
inc ecx
mov eax, dword [ebx + ecx*4]
jmp 0x416e1a
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
mov ecx, dword [edi + 0x68]
inc ecx
dec edi
inc esp
add esp, eax
mov eax, 1
add esi, 8
shl eax, cl
dec esp
mov dword [ebp - 0x18], ebp
lea ecx, [eax - 1]
inc ecx
mov eax, esp
dec eax
and ecx, eax
dec eax
mov eax, dword [edi + 0x58]
mov eax, dword [eax + ecx*4]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
cmp ecx, esi
ja 0x416dde
test al, al
je 0x416eee
test al, 0xf0
jne 0x416eee
inc esp
mov edx, eax
movzx ecx, al
inc ecx
mov ecx, 1
inc ecx
shr edx, 8
mov edx, eax
mov dword [ebp - 0x24], eax
inc ebp
movzx eax, dl
shr eax, 0x10
inc ecx
add ecx, eax
inc ecx
shl ecx, cl
inc ecx
mov ecx, eax
inc ecx
dec ecx
inc ebp
and ecx, esp
inc ecx
shr ecx, cl
inc esp
add ecx, eax
inc ebx
mov eax, dword [ebx + ecx*4]
mov ecx, eax
shr ecx, 8
inc esp
movzx eax, cl
inc ecx
movzx ecx, dl
inc esp
add eax, ecx
jmp 0x416eda
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
inc esp
movzx ecx, byte [ebp - 0x23]
mov ecx, esi
shl eax, cl
inc ecx
mov eax, 1
movzx ecx, dl
inc ecx
add ecx, ecx
inc esp
add esp, eax
movzx eax, word [ebp - 0x22]
inc ecx
shl eax, cl
inc ecx
mov ecx, ecx
dec ecx
inc ebp
inc ecx
dec eax
inc ecx
dec edi
add esi, 8
inc ebp
and eax, esp
dec esp
mov dword [ebp - 0x18], ebp
inc ecx
shr eax, cl
inc esp
add eax, eax
dec eax
mov eax, dword [edi + 0x58]
inc edx
mov eax, dword [eax + eax*4]
mov ecx, eax
shr ecx, 8
inc esp
movzx eax, cl
inc ebp
add eax, ecx
inc esp
cmp eax, esi
ja 0x416e7d
movzx ecx, byte [ebp - 0x23]
inc ecx
shr esp, cl
sub esi, ecx
mov dword [edi + 0x1bdc], ecx
mov ecx, eax
inc ebp
xor ebx, ebx
shr ecx, 8
movzx ecx, cl
add dword [edi + 0x1bdc], ecx
inc ecx
shr esp, cl
sub esi, ecx
mov ecx, eax
shr ecx, 0x10
mov dword [edi + 0x48], ecx
test al, al
jne 0x416f1b
mov dword [edi], 0x19
jmp 0x416420
test al, 0x20
je 0x416f31
or dword [edi + 0x1bdc], 0xffffffff
mov dword [edi], 0xb
jmp 0x416420
test al, 0x40
je 0x416f41
dec eax
lea eax, [0x21dcd]
jmp 0x4169d0
movzx ecx, al
mov dword [edi], 0x15
and ecx, 0xf
mov dword [edi + 0x50], ecx
mov edx, dword [edi + 0x50]
test edx, edx
je 0x416f9e
cmp esi, edx
jae 0x416f82
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
add esi, 8
inc ecx
dec edi
inc esp
add esp, eax
dec esp
mov dword [ebp - 0x18], ebp
cmp esi, dword [edi + 0x50]
jb 0x416f5b
mov ecx, edx
mov eax, 1
sub esi, edx
shl eax, cl
dec eax
inc ecx
and eax, esp
inc ecx
shr esp, cl
add dword [edi + 0x48], eax
add dword [edi + 0x1bdc], edx
mov eax, dword [edi + 0x48]
mov dword [edi], 0x16
mov dword [edi + 0x1be0], eax
mov ecx, dword [edi + 0x6c]
dec esp
mov ebx, dword [edi + 0x60]
mov eax, 1
shl eax, cl
lea ecx, [eax - 1]
inc ecx
mov eax, esp
dec eax
and ecx, eax
inc ecx
mov eax, dword [ebx + ecx*4]
jmp 0x417006
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
mov ecx, dword [edi + 0x6c]
inc ecx
dec edi
inc esp
add esp, eax
mov eax, 1
add esi, 8
shl eax, cl
dec esp
mov dword [ebp - 0x18], ebp
lea ecx, [eax - 1]
inc ecx
mov eax, esp
dec eax
and ecx, eax
dec eax
mov eax, dword [edi + 0x60]
mov eax, dword [eax + ecx*4]
mov ecx, eax
shr ecx, 8
movzx ecx, cl
cmp ecx, esi
ja 0x416fca
test al, 0xf0
jne 0x4170d2
inc esp
mov edx, eax
movzx ecx, al
inc ecx
mov ecx, 1
inc ecx
shr edx, 8
mov edx, eax
mov dword [ebp - 0x24], eax
inc ebp
movzx eax, dl
shr eax, 0x10
inc ecx
add ecx, eax
inc ecx
shl ecx, cl
inc ecx
mov ecx, eax
inc ecx
dec ecx
inc ebp
and ecx, esp
inc ecx
shr ecx, cl
inc esp
add ecx, eax
inc ebx
mov eax, dword [ebx + ecx*4]
mov ecx, eax
shr ecx, 8
inc esp
movzx eax, cl
inc ecx
movzx ecx, dl
inc esp
add eax, ecx
jmp 0x4170be
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
inc esp
movzx ecx, byte [ebp - 0x23]
mov ecx, esi
shl eax, cl
inc ecx
mov eax, 1
movzx ecx, dl
inc ecx
add ecx, ecx
inc esp
add esp, eax
movzx eax, word [ebp - 0x22]
inc ecx
shl eax, cl
inc ecx
mov ecx, ecx
dec ecx
inc ebp
inc ecx
dec eax
inc ecx
dec edi
add esi, 8
inc ebp
and eax, esp
dec esp
mov dword [ebp - 0x18], ebp
inc ecx
shr eax, cl
inc esp
add eax, eax
dec eax
mov eax, dword [edi + 0x60]
inc edx
mov eax, dword [eax + eax*4]
mov ecx, eax
shr ecx, 8
inc esp
movzx eax, cl
inc ebp
add eax, ecx
inc esp
cmp eax, esi
ja 0x417061
movzx ecx, byte [ebp - 0x23]
inc ecx
shr esp, cl
sub esi, ecx
add dword [edi + 0x1bdc], ecx
mov ecx, eax
shr ecx, 8
movzx ecx, cl
add dword [edi + 0x1bdc], ecx
inc ecx
shr esp, cl
sub esi, ecx
test al, 0x40
je 0x4170ff
dec eax
lea eax, [0x21c01]
dec ecx
mov dword [esi + 0x20], eax
mov dword [edi], 0x1d
jmp 0x416820
inc esp
mov eax, dword [ebp + 0x60]
inc esp
mov ecx, dword [ebp + 0x58]
dec esp
mov edx, dword [ebp - 0x10]
mov ecx, eax
mov dword [edi], 0x17
shr ecx, 0x10
mov dword [edi + 0x4c], ecx
movzx ecx, al
and ecx, 0xf
inc ebp
xor ebx, ebx
mov dword [edi + 0x50], ecx
mov edx, dword [edi + 0x50]
test edx, edx
je 0x417173
cmp esi, edx
jae 0x417157
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
add esi, 8
inc ecx
dec edi
inc esp
add esp, eax
dec esp
mov dword [ebp - 0x18], ebp
cmp esi, dword [edi + 0x50]
jb 0x417130
mov ecx, edx
mov eax, 1
sub esi, edx
shl eax, cl
dec eax
inc ecx
and eax, esp
inc ecx
shr esp, cl
add dword [edi + 0x4c], eax
add dword [edi + 0x1bdc], edx
mov dword [edi], 0x18
mov edx, 0x10
inc ebp
test ecx, ecx
je 0x416347
mov ecx, dword [edi + 0x4c]
inc ecx
mov eax, eax
inc ecx
sub eax, ecx
cmp ecx, eax
jbe 0x41736b
sub ecx, eax
cmp ecx, dword [edi + 0x30]
jbe 0x41734a
inc esp
cmp dword [edi + 0x1bd8], ebx
je 0x41734a
dec eax
lea eax, [0x21b1a]
jmp 0x4164fa
dec eax
lea eax, [0x22446]
jmp 0x416484
sub ecx, 0x18
je 0x41717e
dec ecx
je 0x417322
dec ecx
je 0x417203
dec ecx
je 0x4172cf
dec ecx
je 0x4173f0
dec ecx
je 0x4173d9
dec ecx
jne 0x415f48
mov eax, 0xfffffffc
jmp 0x415f4d
inc esp
cmp dword [edi + 8], ebx
je 0x4172c9
jmp 0x417231
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
cmp esi, 0x20
jb 0x41720f
inc ebp
sub eax, ecx
inc ebp
add dword [esi + 0x1c], eax
inc esp
add dword [edi + 0x1c], eax
inc ebp
test eax, eax
je 0x41727a
mov ecx, dword [edi + 0x18]
inc ecx
mov eax, eax
dec ecx
mov edx, edx
dec eax
sub edx, eax
inc esp
cmp dword [edi + 0x10], ebx
je 0x41725f
call fcn.00415691
jmp 0x417264
call fcn.00414b29
inc esp
mov ecx, dword [ebp + 0x58]
dec esp
mov edx, dword [ebp - 0x10]
inc ebp
xor ebx, ebx
mov dword [edi + 0x18], eax
inc ecx
lea edx, [ebx + 0x10]
inc ecx
mov dword [esi + 0x4c], eax
inc ecx
mov ecx, esp
inc ecx
mov eax, esp
inc ebp
mov eax, ecx
shl eax, 0x10
and ecx, 0xff00
inc esp
mov dword [ebp + 0x60], ecx
add ecx, eax
inc ecx
mov eax, esp
shr eax, 8
shl ecx, 8
and eax, 0xff00
add ecx, eax
inc ecx
mov eax, esp
shr eax, 0x18
add ecx, eax
inc esp
cmp dword [edi + 0x10], ebx
inc ecx
cmovne ecx, esp
cmp ecx, dword [edi + 0x18]
je 0x4172c3
dec eax
lea eax, [0x22333]
jmp 0x4164fa
inc ebp
mov esp, ebx
inc ecx
mov esi, ebx
mov dword [edi], 0x1b
inc esp
cmp dword [edi + 8], ebx
je 0x4173ea
inc esp
cmp dword [edi + 0x10], ebx
je 0x4173ea
jmp 0x417307
inc ebp
test edi, edi
je 0x416347
inc ecx
movzx eax, byte [ebp]
mov ecx, esi
dec ecx
inc ebp
shl eax, cl
inc ecx
dec edi
dec esp
mov dword [ebp - 0x18], ebp
inc esp
add esp, eax
add esi, 8
cmp esi, 0x20
jb 0x4172e5
inc esp
cmp esp, dword [edi + 0x1c]
je 0x4173e4
dec eax
lea eax, [0x222bc]
jmp 0x4164fa
inc ebp
test ecx, ecx
je 0x416347
mov al, byte [edi + 0x48]
inc ecx
mov byte [edx], al
dec ecx
inc edx
inc ecx
dec ecx
inc esp
mov dword [ebp + 0x58], ecx
dec esp
mov dword [ebp - 0x10], edx
mov dword [edi], 0x14
jmp 0x415ef0
mov eax, dword [edi + 0x34]
cmp ecx, eax
jbe 0x41735a
mov edx, dword [edi + 0x2c]
sub ecx, eax
sub edx, ecx
jmp 0x41735e
sub eax, ecx
mov edx, eax
mov eax, dword [edi + 0x48]
dec eax
add edx, dword [edi + 0x38]
cmp ecx, eax
jbe 0x417376
jmp 0x417374
mov eax, dword [edi + 0x48]
dec ecx
mov edx, edx
dec eax
sub edx, ecx
mov ecx, eax
inc ecx
cmp ecx, ecx
inc ecx
cmova ecx, ecx
inc esp
sub ecx, ecx
sub eax, ecx
dec ecx
sub edx, edx
inc esp
mov dword [ebp + 0x58], ecx
mov dword [edi + 0x48], eax
inc edx
mov al, byte [edx + edx]
inc ecx
mov byte [edx], al
dec ecx
inc edx
dec ecx
jne 0x41738c
dec esp
mov dword [ebp - 0x10], edx
lea edx, [ecx + 0x10]
lea eax, [ecx + 7]
inc esp
cmp dword [edi + 0x48], ebx
jne 0x415ef5
mov dword [edi], 0x14
jmp 0x415ef5
dec ebp
mov dword [esi + 0x10], edx
inc ebp
mov dword [esi + 0x18], ecx
dec ebp
mov dword [esi], ebp
inc ebp
mov dword [esi + 8], edi
mov eax, 2
inc esp
mov dword [edi + 0x40], esp
mov dword [edi + 0x44], esi
jmp 0x415f4d
inc ecx
mov ebp, 0xfffffffd
jmp 0x41634b
inc ebp
mov esp, ebx
inc ecx
mov esi, ebx
mov dword [edi], 0x1c
inc ecx
mov ebp, 1
jmp 0x41634b
inc ecx
sub ebx, dword [esi + 0x18]
inc esp
mov ecx, dword [ebp - 0x20]
inc ebp
sub ecx, dword [esi + 8]
inc ecx
add dword [esi + 0x1c], ebx
inc ebp
add dword [esi + 0xc], ecx
add dword [edi + 0x1c], ebx
inc esp
mov dword [ebp - 0x20], ecx
cmp dword [edi + 8], esi
je 0x41744a
test ebx, ebx
je 0x41744a
dec ecx
mov edx, dword [esi + 0x10]
mov ecx, dword [edi + 0x18]
mov eax, ebx
dec eax
sub edx, eax
inc esp
mov eax, ebx
cmp dword [edi + 0x10], esi
je 0x41743a
call fcn.00415691
jmp 0x41743f
call fcn.00414b29
inc esp
mov ecx, dword [ebp - 0x20]
mov dword [edi + 0x18], eax
inc ecx
mov dword [esi + 0x4c], eax
cmp dword [edi], 0x13
je 0x417457
cmp dword [edi], 0xe
inc esp
mov eax, esi
jne 0x41745d
inc ecx
mov eax, 0x100
mov eax, dword [edi + 4]
mov edx, esi
neg eax
mov eax, 0x80
sbb ecx, ecx
and ecx, 0x40
cmp dword [edi], 0xb
cmove edx, eax
inc ecx
lea eax, [eax + ecx]
add edx, eax
add edx, dword [edi + 0x44]
inc ecx
mov dword [esi + 0x48], edx
inc ebp
test ecx, ecx
jne fcn.0041748a
test ebx, ebx
je 0x417490
mov eax, 0xfffffffb
inc ebp
test ebp, ebp
inc esp
cmove ebp, eax
inc ecx
mov eax, ebp
jmp 0x415f4d