Function at 0x427e10
Capabilities:
Inspect section memory permissions

Disassembly:
push ebx
mov ebx, esp
and esp, 0xfffffff8
push edi
push esi
push ebp
sub esp, 0x11c
mov dword [esp + 0x10c], ecx
mov edx, dword [ebx + 8]
mov ebp, dword [ebx + 0xc]
mov al, byte [ebx + 0x10]
mov byte [esp + 0x100], al
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x110], eax
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x104], eax
mov eax, dword [ecx + 4]
mov dword [esp + 0x108], eax
mov eax, dword [ebx + 0x18]
test eax, eax
mov dword [esp + 0xfc], eax
jne 0x427ee6
mov esi, edx
mov edi, ebp
mov ecx, 0x11c
xor eax, eax
test ecx, ecx
je 0x427e86
mov al, byte [esi]
sub al, byte [edi]
jne 0x427e86
add esi, 1
add edi, 1
sub ecx, 1
jne 0x427e75
seta al
setb cl
sub al, cl
movsx eax, al
test eax, eax
jne 0x427ee6
mov al, byte [esp + 0x100]
test al, al
je 0x4282ad
mov ebp, dword [ebp]
cmp ebp, 0x80
jae 0x428781
push 5
push 0
mov ecx, dword [esp + 0x114]
call fcn.004292a4
push 7
push ebp
mov ecx, dword [esp + 0x114]
call fcn.004292a4
mov eax, 1
add esp, 0x11c
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret 0x18
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x427efb
mov eax, dword [esp + 0x110]
or dword [eax], 4
mov eax, dword [edx + 0x20]
mov ecx, dword [ebp + 0x20]
mov dword [esp + 0x80], eax
sar eax, 8
mov dword [esp + 0x84], ecx
sar ecx, 8
cmp eax, ecx
je 0x427f23
mov eax, dword [esp + 0x110]
or dword [eax], 8
mov eax, dword [edx + 0x24]
mov ecx, dword [ebp + 0x24]
mov dword [esp + 0x88], eax
sar eax, 8
mov dword [esp + 0x8c], ecx
sar ecx, 8
cmp eax, ecx
je 0x427f4b
mov eax, dword [esp + 0x110]
or dword [eax], 0x10
mov eax, dword [edx + 0x28]
mov ecx, dword [ebp + 0x28]
mov dword [esp + 0x90], eax
sar eax, 8
mov dword [esp + 0x94], ecx
sar ecx, 8
cmp eax, ecx
je 0x427f73
mov eax, dword [esp + 0x110]
or dword [eax], 0x20
mov eax, dword [edx + 0x2c]
mov ecx, dword [ebp + 0x2c]
mov dword [esp + 0x98], eax
sar eax, 8
mov dword [esp + 0x9c], ecx
sar ecx, 8
cmp eax, ecx
je 0x427f9e
mov eax, dword [esp + 0x110]
or dword [eax], 0x8000
mov eax, dword [edx + 0x30]
mov ecx, dword [ebp + 0x30]
mov dword [esp + 0xa0], eax
sar eax, 8
mov dword [esp + 0xa4], ecx
sar ecx, 8
cmp eax, ecx
je 0x427fc6
mov eax, dword [esp + 0x110]
or dword [eax], 0x40
mov eax, dword [edx + 0x34]
mov ecx, dword [ebp + 0x34]
mov dword [esp + 0xa8], eax
sar eax, 8
mov dword [esp + 0xac], ecx
sar ecx, 8
cmp eax, ecx
je 0x427ff1
mov eax, dword [esp + 0x110]
or dword [eax], 0x200000
mov eax, dword [edx + 4]
cmp eax, dword [ebp + 4]
je 0x428006
mov eax, dword [esp + 0x110]
or dword [eax], 0x4000000
mov eax, dword [edx + 0x1c]
cmp eax, dword [ebp + 0x1c]
je 0x42801b
mov eax, dword [esp + 0x110]
or dword [eax], 0x100
mov eax, dword [edx + 0xc]
cmp eax, dword [ebp + 0xc]
je 0x428030
mov eax, dword [esp + 0x110]
or dword [eax], 0x40000
mov eax, dword [edx + 0x10]
cmp eax, dword [ebp + 0x10]
je 0x428045
mov eax, dword [esp + 0x110]
or dword [eax], 0x2000
mov eax, dword [edx + 0x14]
cmp eax, dword [ebp + 0x14]
je 0x42805a
mov eax, dword [esp + 0x110]
or dword [eax], 0x400
mov eax, dword [edx + 0x18]
cmp eax, dword [ebp + 0x18]
je 0x42806f
mov eax, dword [esp + 0x110]
or dword [eax], 0x20000
mov eax, dword [edx + 0x38]
cmp eax, dword [ebp + 0x38]
je 0x428084
mov eax, dword [esp + 0x110]
or dword [eax], 0x1000000
mov eax, dword [edx + 0x3c]
cmp eax, dword [ebp + 0x3c]
je 0x428099
mov eax, dword [esp + 0x110]
or dword [eax], 0x2000000
mov eax, dword [edx + 0x40]
mov dword [esp + 0xb0], eax
mov ecx, dword [ebp + 0x40]
sar eax, 8
mov dword [esp + 0xb4], ecx
sar ecx, 8
cmp eax, ecx
je 0x4280c4
mov eax, dword [esp + 0x110]
or dword [eax], 0x400000
mov eax, dword [edx + 0x44]
mov dword [esp + 0xb8], eax
mov ecx, dword [ebp + 0x44]
sar eax, 8
mov dword [esp + 0xbc], ecx
sar ecx, 8
cmp eax, ecx
je 0x4280ef
mov eax, dword [esp + 0x110]
or dword [eax], 0x10000
mov eax, dword [edx + 0x48]
mov dword [esp + 0xc0], eax
mov ecx, dword [ebp + 0x48]
sar eax, 8
mov dword [esp + 0xc4], ecx
sar ecx, 8
cmp eax, ecx
je 0x42811a
mov eax, dword [esp + 0x110]
or dword [eax], 0x4000
mov eax, dword [edx + 0x4c]
mov dword [esp + 0xc8], eax
mov ecx, dword [ebp + 0x4c]
sar eax, 8
mov dword [esp + 0xcc], ecx
sar ecx, 8
cmp eax, ecx
je 0x428145
mov eax, dword [esp + 0x110]
or dword [eax], 0x800000
mov eax, dword [edx + 0x50]
mov dword [esp + 0xd0], eax
mov ecx, dword [ebp + 0x50]
sar eax, 8
mov dword [esp + 0xd4], ecx
sar ecx, 8
cmp eax, ecx
je 0x428170
mov eax, dword [esp + 0x110]
or dword [eax], 0x8000000
mov eax, dword [edx + 0x54]
mov dword [esp + 0xd8], eax
mov ecx, dword [ebp + 0x54]
sar eax, 8
mov dword [esp + 0xdc], ecx
sar ecx, 8
cmp eax, ecx
je 0x4281a1
mov eax, dword [esp + 0x110]
mov esi, dword [eax]
or esi, 0x100000
mov dword [eax], esi
jmp 0x4281aa
mov eax, dword [esp + 0x110]
mov esi, dword [eax]
mov eax, dword [edx + 0x118]
cmp eax, dword [ebp + 0x118]
je 0x4281c7
or esi, 0x10000000
mov eax, dword [esp + 0x110]
mov dword [eax], esi
mov eax, dword [ebp + 8]
cmp eax, dword [edx + 8]
je 0x4281de
or esi, 0x20000000
mov eax, dword [esp + 0x110]
mov dword [eax], esi
mov eax, dword [edx + 0x64]
cmp eax, dword [ebp + 0x64]
je 0x4281f5
or esi, 0x200
mov eax, dword [esp + 0x110]
mov dword [eax], esi
mov ecx, dword [edx + 0x68]
mov eax, dword [ebp + 0x68]
mov dword [0x4e64e0], ecx
mov dword [0x4e64e4], eax
fld dword [0x4e64e0]
fcomp dword [0x4e64e4]
fnstsw ax
sahf
je 0x428226
or esi, 0x80
mov eax, dword [esp + 0x110]
mov dword [eax], esi
mov eax, dword [edx + 0xb8]
cmp eax, dword [ebp + 0xb8]
je 0x428243
or esi, 0x1000
mov eax, dword [esp + 0x110]
mov dword [eax], esi
mov ecx, dword [edx + 0xbc]
mov eax, dword [ebp + 0xbc]
mov dword [0x4e64e8], ecx
mov dword [0x4e64ec], eax
fld dword [0x4e64e8]
fcomp dword [0x4e64ec]
fnstsw ax
sahf
je 0x42827a
or esi, 0x800
mov eax, dword [esp + 0x110]
mov dword [eax], esi
fld dword [edx + 0x100]
fcomp dword [ebp + 0x100]
fnstsw ax
sahf
je 0x428eaa
or esi, 0x80000
mov eax, dword [esp + 0x110]
mov dword [eax], esi
test esi, esi
jne 0x4282be
mov al, byte [esp + 0x100]
test al, al
jne 0x4282be
xor eax, eax
add esp, 0x11c
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret 0x18
mov eax, dword [ebp]
cmp eax, 0x80
mov dword [esp + 0x100], eax
jb 0x4282e5
or esi, 1
mov eax, dword [esp + 0x110]
mov dword [eax], esi
mov edx, dword [ebp]
mov dword [esp + 0x100], edx
mov edi, 0x1f
test esi, 0x40000000
jne 0x4284ce
mov edi, 0x1e
test esi, 0x20000000
jne 0x4284ce
mov edi, 0x1d
test esi, 0x10000000
jne 0x4284ce
mov edi, 0x1c
test esi, 0x8000000
jne 0x4284ce
mov edi, 0x1b
test esi, 0x4000000
jne 0x4284ce
mov edi, 0x1a
test esi, 0x2000000
jne 0x4284ce
mov edi, 0x19
test esi, 0x1000000
jne 0x4284ce
mov edi, 0x18
test esi, 0x800000
jne 0x4284ce
mov edi, 0x17
test esi, 0x400000
jne 0x4284ce
mov edi, 0x16
test esi, 0x200000
jne 0x4284ce
mov edi, 0x15
test esi, 0x100000
jne 0x4284ce
mov edi, 0x14
test esi, 0x80000
jne 0x4284ce
mov edi, 0x13
test esi, 0x40000
jne 0x4284ce
mov edi, 0x12
test esi, 0x20000
jne 0x4284ce
mov edi, 0x11
test esi, 0x10000
jne 0x4284ce
mov edi, 0x10
test esi, 0x8000
jne 0x4284ce
mov edi, 0xf
test esi, 0x4000
jne 0x4284ce
mov edi, 0xe
test esi, 0x2000
jne 0x4284ce
mov edi, 0xd
test esi, 0x1000
jne 0x4284ce
mov edi, 0xc
test esi, 0x800
jne 0x4284ce
mov edi, 0xb
test esi, 0x400
jne 0x4284ce
mov edi, 0xa
test esi, 0x200
jne 0x4284ce
mov edi, 9
test esi, 0x100
jne 0x4284ce
mov edi, 8
test esi, 0x80
jne 0x4284ce
mov edi, 7
test esi, 0x40
jne 0x4284ce
mov edi, 6
test esi, 0x20
jne 0x4284ce
mov edi, 5
test esi, 0x10
jne 0x4284ce
mov edi, 4
test esi, 8
jne 0x4284ce
mov edi, 3
test esi, 4
jne 0x4284ce
mov edi, 2
test esi, 2
jne 0x4284ce
mov edi, 1
test esi, 1
jne 0x4284ce
xor edi, edi
push 5
push edi
mov ecx, dword [esp + 0x114]
call fcn.004292a4
test edi, edi
je 0x4284ef
push edi
push esi
mov ecx, dword [esp + 0x114]
call fcn.004292a4
test esi, 1
jne 0x428e8f
push 7
mov eax, dword [esp + 0x104]
push eax
mov ecx, dword [esp + 0x114]
call fcn.004292a4
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
test al, 4
jne 0x428b1c
test al, 8
jne 0x428aff
test al, 0x10
jne 0x428ae2
test al, 0x20
jne 0x428ac5
test al, 0x40
jne 0x428aa8
test eax, 0x80
jne 0x428a8b
test eax, 0xffffff00
je 0x428659
test ah, 1
jne 0x428a6c
test ah, 2
jne 0x428a4d
test ah, 4
jne 0x428a30
test ah, 8
jne 0x428a10
test ah, 0x10
jne 0x4289ee
test ah, 0x20
jne 0x4289d1
test ah, 0x40
jne 0x4289b4
test eax, 0x8000
jne 0x428997
test eax, 0xffff0000
je 0x428659
test eax, 0x10000
jne 0x42897a
test eax, 0x20000
jne 0x42895b
test eax, 0x40000
jne 0x42893e
test eax, 0x80000
jne 0x4288c0
test eax, 0x100000
jne 0x4288a3
test eax, 0x200000
jne 0x428886
test eax, 0x400000
jne 0x428869
test eax, 0x800000
jne 0x42884c
test eax, 0xff000000
je 0x428659
test eax, 0x1000000
jne 0x42882f
test eax, 0x2000000
jne 0x428812
test eax, 0x4000000
jne 0x4287f5
test eax, 0x8000000
jne 0x4287d8
test eax, 0x10000000
jne 0x4287b8
test eax, 0x20000000
je 0x428659
push dword [ebp + 8]
mov ecx, dword [esp + 0x110]
call fcn.00428f18
mov eax, dword [0x52f7f0]
mov eax, dword [eax + 0x210]
cmp eax, 5
jl 0x42868d
mov eax, dword [esp + 0x110]
push dword [eax]
push dword [ebp]
push 0x6ee640
call fcn.00440328
add esp, 0xc
mov eax, dword [0x52f7f0]
mov eax, dword [eax + 0x210]
cmp eax, 4
jl 0x428742
mov dword [esp], 0x6ee660
mov eax, dword [esp + 0x10c]
mov edx, dword [eax + 4]
sub edx, dword [esp + 0x108]
mov ecx, dword [ebp]
mov esi, dword [ebp + 0xc]
mov dword [esp + 4], edx
mov eax, dword [ebp + 0x10]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x64]
fld dword [ebp + 0x20]
fstp qword [esp + 0x14]
fld dword [ebp + 0x24]
fstp qword [esp + 0x1c]
fld dword [ebp + 0x28]
fstp qword [esp + 0x24]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0xb8]
fld dword [ebp + 0x68]
fstp qword [esp + 0x30]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x38]
fld dword [ebp + 0xbc]
fstp qword [esp + 0x3c]
mov dword [esp + 0x44], eax
mov eax, dword [ebp + 0x3c]
mov dword [esp + 0x48], eax
fld dword [ebp + 0x40]
fstp qword [esp + 0x4c]
fld dword [ebp + 0x44]
fstp qword [esp + 0x54]
fld dword [ebp + 0x48]
fstp qword [esp + 0x5c]
fld dword [ebp + 0x4c]
fstp qword [esp + 0x64]
fld dword [ebp + 0x50]
fstp qword [esp + 0x6c]
fld dword [ebp + 0x54]
fstp qword [esp + 0x74]
mov ebp, dword [ebx + 0x18]
mov dword [esp + 0x7c], ebp
call fcn.00440328
mov ebp, dword [esp + 0x10c]
mov al, byte [ebp + 0x800d]
test al, al
je 0x42876d
mov eax, dword [0x52f7f0]
mov edx, dword [eax + 0x210]
test edx, edx
jle 0x42876d
push 0x6ee6e0
call fcn.00440328
pop ecx
mov eax, 1
add esp, 0x11c
pop ebp
pop esi
pop edi
mov esp, ebx
pop ebx
ret 0x18
push 5
push 1
mov ecx, dword [esp + 0x114]
call fcn.004292a4
mov eax, 1
push eax
push eax
mov ecx, dword [esp + 0x114]
call fcn.004292a4
push 0xc
push ebp
mov ecx, dword [esp + 0x114]
call fcn.004292a4
jmp 0x427ed2
push dword [ebp + 0x118]
mov ecx, dword [esp + 0x110]
call fcn.00428f18
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x428643
push dword [ebp + 0x50]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x428638
push dword [ebp + 4]
mov ecx, dword [esp + 0x110]
call fcn.0042be78
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x42862d
push dword [ebp + 0x3c]
mov ecx, dword [esp + 0x110]
call fcn.00429014
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x428622
push dword [ebp + 0x38]
mov ecx, dword [esp + 0x110]
call fcn.00429014
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x428617
push dword [ebp + 0x4c]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x428605
push dword [ebp + 0x40]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x4285fa
push dword [ebp + 0x34]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x4285ef
push dword [ebp + 0x54]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x4285e4
mov edi, dword [ebp + 0x104]
mov esi, dword [ebp + 0x108]
push dword [ebp + 0x100]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
push edi
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
push esi
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov edi, dword [ebp + 0x110]
mov esi, dword [ebp + 0x114]
push dword [ebp + 0x10c]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
push edi
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
push esi
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x4285d9
push dword [ebp + 0xc]
mov ecx, dword [esp + 0x110]
call fcn.00428f18
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x4285ce
push 0x10
push dword [ebp + 0x18]
mov ecx, dword [esp + 0x114]
call fcn.004292a4
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x4285c3
push dword [ebp + 0x44]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x4285b8
push dword [ebp + 0x2c]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x4285a2
push dword [ebp + 0x48]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x428597
push dword [ebp + 0x10]
mov ecx, dword [esp + 0x110]
call fcn.004291a8
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x42858e
push 7
push dword [ebp + 0xb8]
mov ecx, dword [esp + 0x114]
call fcn.004292a4
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x428585
push dword [ebp + 0xbc]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x42857c
push dword [ebp + 0x14]
mov ecx, dword [esp + 0x110]
call fcn.00428f18
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x428573
push 7
push dword [ebp + 0x64]
mov ecx, dword [esp + 0x114]
call fcn.004292a4
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x42856a
push 7
push dword [ebp + 0x1c]
mov ecx, dword [esp + 0x114]
call fcn.004292a4
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x428561
push dword [ebp + 0x68]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x42854d
push dword [ebp + 0x30]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x428542
push dword [ebp + 0x28]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x42853a
push dword [ebp + 0x24]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x428532
push dword [ebp + 0x20]
mov ecx, dword [esp + 0x110]
call fcn.0042bb5c
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x42852a
lea eax, [ebx + 0x18]
mov edx, 0xc
lea esi, [esp + 0xe0]
mov dword [esp + 0x100], eax
mov dword [esp + 0xf0], edx
push esi
push 0xc
mov ecx, dword [esp + 0x114]
call fcn.00429110
mov ecx, dword [esp + 0xe0]
test ecx, ecx
jne 0x428b7d
mov esi, dword [esp + 0x100]
movzx edx, byte [esi]
mov byte [eax], dl
inc eax
lea edx, [ebx + 0x19]
mov ecx, 4
mov dword [esp + 0x100], edx
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0xe0]
mov esi, ecx
neg esi
add esi, 8
mov edx, dword [esp + 0xf0]
cmp edx, 8
jbe 0x428b9e
mov edx, 8
mov dword [esp + 0xf4], edx
jmp 0x428ba5
mov dword [esp + 0xf4], edx
mov edx, 1
shl edx, cl
test ecx, ecx
mov dword [esp + 0xfc], edx
mov edx, 1
jne 0x428bbf
mov byte [eax], 0
mov dword [esp + 0xf8], edx
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0xec], ebp
mov ebp, dword [esp + 0xf4]
test ebp, ebp
jne 0x428c00
cmp ecx, 8
jbe 0x428beb
mov ebp, 8
jmp 0x428bed
mov ebp, ecx
mov edx, 1
mov dword [esp + 0xf8], edx
inc dword [esp + 0x100]
test esi, esi
jne 0x428c19
mov esi, 8
mov edx, 1
inc eax
mov dword [esp + 0xfc], edx
mov byte [eax], 0
cmp esi, ebp
jae 0x428c21
mov edi, esi
jmp 0x428c23
mov edi, ebp
sub ecx, edi
sub ebp, edi
sub esi, edi
lea edx, [edi - 1]
test edi, edi
je 0x428c90
mov dword [esp + 0xe8], esi
mov esi, dword [esp + 0x100]
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0xf4], ebp
mov ebp, dword [esp + 0xf8]
movzx edi, byte [esi]
test ebp, edi
je 0x428c63
or byte [eax], cl
add ebp, ebp
add ecx, ecx
dec edx
cmp edx, 0xffffffff
jne 0x428c5a
mov dword [esp + 0xfc], ecx
mov esi, dword [esp + 0xe8]
mov ecx, dword [esp + 0xf0]
mov dword [esp + 0xf8], ebp
mov ebp, dword [esp + 0xf4]
test ecx, ecx
jne 0x428bdb
mov ebp, dword [esp + 0xec]
mov edx, dword [ebx + 0x18]
add edx, edx
add edx, edx
add edx, edx
lea eax, [esp + 0xe4]
mov dword [esp + 0xf4], edx
push eax
push edx
mov ecx, dword [esp + 0x114]
call fcn.00429110
mov dword [esp + 0xfc], eax
mov ecx, dword [esp + 0xe4]
test ecx, ecx
jne 0x428d39
mov eax, dword [esp + 0xf4]
cmp eax, 7
jbe 0x428d39
shr eax, 3
mov edi, dword [esp + 0xfc]
mov esi, dword [esp + 0x104]
mov ecx, eax
push ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
pop ecx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
add dword [esp + 0xfc], eax
add dword [esp + 0x104], eax
mov eax, dword [esp + 0xf4]
and eax, 7
mov dword [esp + 0xf4], eax
je 0x428d2b
mov ecx, dword [esp + 0xe4]
jmp 0x428d39
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x428522
mov edx, ecx
neg edx
add edx, 8
mov eax, dword [esp + 0xf4]
cmp eax, 8
jbe 0x428d5a
mov eax, 8
mov dword [esp + 0xf0], eax
jmp 0x428d61
mov dword [esp + 0xf0], eax
mov eax, 1
shl eax, cl
mov esi, 1
test ecx, ecx
mov dword [esp + 0x100], eax
jne 0x428d82
mov eax, dword [esp + 0xfc]
mov byte [eax], 0
mov eax, dword [esp + 0xf4]
test eax, eax
je 0x428e81
mov dword [esp + 0xe8], esi
mov ecx, dword [esp + 0xfc]
mov esi, dword [esp + 0xf0]
mov dword [esp + 0xec], ebp
mov ebp, eax
test esi, esi
jne 0x428dd4
cmp ebp, 8
jbe 0x428dbf
mov esi, 8
jmp 0x428dc1
mov esi, ebp
mov eax, 1
mov dword [esp + 0xe8], eax
inc dword [esp + 0x104]
test edx, edx
jne 0x428ded
mov edx, 8
mov eax, 1
inc ecx
mov dword [esp + 0x100], eax
mov byte [ecx], 0
cmp edx, esi
jae 0x428df5
mov edi, edx
jmp 0x428df7
mov edi, esi
sub ebp, edi
sub esi, edi
sub edx, edi
lea eax, [edi - 1]
test edi, edi
je 0x428e64
mov dword [esp + 0xf8], edx
mov edx, dword [esp + 0x100]
mov dword [esp + 0xf4], ebp
mov ebp, dword [esp + 0xe8]
mov dword [esp + 0xf0], esi
mov esi, dword [esp + 0x104]
movzx edi, byte [esi]
test ebp, edi
je 0x428e37
or byte [ecx], dl
add ebp, ebp
add edx, edx
dec eax
cmp eax, 0xffffffff
jne 0x428e2e
mov dword [esp + 0x100], edx
mov edx, dword [esp + 0xf8]
mov esi, dword [esp + 0xf0]
mov dword [esp + 0xe8], ebp
mov ebp, dword [esp + 0xf4]
test ebp, ebp
jne 0x428daf
mov ebp, dword [esp + 0xec]
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x428522
mov eax, dword [esp + 0x110]
mov eax, dword [eax]
jmp 0x428522
push 0xc
mov eax, dword [esp + 0x104]
push eax
mov ecx, dword [esp + 0x114]
call fcn.004292a4
jmp 0x428511
fld dword [edx + 0x104]
fcomp dword [ebp + 0x104]
fnstsw ax
sahf
jne 0x42828f
fld dword [edx + 0x108]
fcomp dword [ebp + 0x108]
fnstsw ax
sahf
jne 0x42828f
fld dword [edx + 0x10c]
fcomp dword [ebp + 0x10c]
fnstsw ax
sahf
jne 0x42828f
fld dword [edx + 0x110]
fcomp dword [ebp + 0x110]
fnstsw ax
sahf
jne 0x42828f
fld dword [edx + 0x114]
fcomp dword [ebp + 0x114]
fnstsw ax
sahf
jne 0x42828f
jmp 0x42829e