Function at 0x45a540
Capabilities:
Enumerate pe sections
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x84
push ebx
push edi
mov edi, dword [ebp + 0x10]
xor ebx, ebx
mov ecx, edi
mov eax, esi
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x30], ebx
call fcn.0045a450
cmp dword [esi + 0x10], ebx
je 0x45a57e
mov eax, dword [0x551d08]
push eax
push 0x439ea0
mov ecx, esi
call fcn.00457180
add esp, 8
cmp byte [ebp + 0xc], bl
je 0x45a590
mov ecx, dword [ebp + 8]
push ecx
mov ecx, edi
mov ebx, esi
call fcn.00459610
lea ebx, [ebp - 0x30]
mov ecx, edi
call fcn.00458360
test eax, eax
mov eax, dword [ebp - 0x30]
jl 0x45a6f3
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
mov dword [ebp - 0xc], eax
test eax, eax
je 0x45a5c2
mov ecx, dword [eax + 0x24]
test ecx, ecx
je 0x45a5c2
add ecx, eax
mov dword [ebp - 0x4c], ecx
jmp 0x45a5c9
mov dword [ebp - 0x4c], 0x438ff4
cmp dword [esi + 0x10], 0
mov ebx, dword [edi]
lea ecx, [edi + 4]
mov dword [ebp - 8], ebx
mov dword [ebp - 4], ecx
je 0x45a605
push 0x439eb8
mov ecx, esi
call fcn.00457180
add esp, 4
cmp dword [esi + 0x10], 0
je 0x45a605
mov edx, dword [0x551d0c]
push edx
push 0x439ea0
mov ecx, esi
call fcn.00457180
add esp, 8
cmp ebx, 0xfffe0201
jne 0x45a621
push 0x43abdc
mov ecx, esi
call fcn.00457180
add esp, 4
jmp 0x45a731
cmp ebx, 0xfffe02ff
jne 0x45a63d
push 0x43abe8
mov ecx, esi
call fcn.00457180
add esp, 4
jmp 0x45a731
cmp ebx, 0xfffe03ff
jne 0x45a659
push 0x43abf8
mov ecx, esi
call fcn.00457180
add esp, 4
jmp 0x45a731
cmp ebx, 0xffff0201
jne 0x45a675
push 0x43ac08
mov ecx, esi
call fcn.00457180
add esp, 4
jmp 0x45a731
cmp ebx, 0xffff02ff
jne 0x45a691
push 0x43ac14
mov ecx, esi
call fcn.00457180
add esp, 4
jmp 0x45a731
cmp ebx, 0xffff03ff
jne 0x45a6ad
push 0x43ac24
mov ecx, esi
call fcn.00457180
add esp, 4
jmp 0x45a731
mov eax, ebx
and eax, 0xffff0000
cmp eax, 0x54580000
je 0x45be01
cmp eax, 0xfffe0000
je 0x45a714
mov ecx, esi
cmp eax, 0xffff0000
je 0x45a6ff
call fcn.00457220
xor eax, eax
mov ecx, esi
call fcn.004571f0
push 0x43ac54
mov ecx, esi
call fcn.00457180
add esp, 4
mov ecx, esi
call fcn.00457220
mov dword [ebp - 0x28], 0x80004005
jmp 0x45be0c
movzx eax, bl
shr ebx, 8
push eax
and ebx, 0xff
push ebx
push 0x43ac44
jmp 0x45a729
movzx ecx, bl
push ecx
shr ebx, 8
and ebx, 0xff
push ebx
push 0x43ac34
mov ecx, esi
call fcn.00457180
add esp, 0xc
xor edi, edi
mov dword [ebp + 0xc], edi
mov dword [ebp + 8], edi
mov dword [ebp - 0x14], edi
cmp dword [ebp - 0xc], edi
je 0x45a776
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 0x10]
mov ebx, dword [eax + 0x18]
mov edx, dword [eax + 0x14]
add ecx, eax
add ebx, eax
mov dword [ebp - 0x5c], ecx
lea ecx, [ebx + edx*8]
mov dword [ebp - 0x54], ecx
mov ecx, dword [eax + 0x20]
add ecx, eax
mov eax, dword [eax + 0x1c]
lea edx, [eax + eax*4]
lea eax, [ecx + edx*4]
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x2c], ebx
jmp 0x45a779
mov ebx, dword [ebp - 0x2c]
xor eax, eax
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
movzx edx, cx
mov dword [ebp - 0x10], ecx
movzx ecx, byte [eax + 2]
mov dword [ebp - 0x50], 0xffff
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], ecx
cmp edx, 0xffff
je 0x45bd5d
lea esp, [esp]
cmp edx, 0xfffe
jne 0x45a852
mov ecx, dword [ebp - 0x10]
shr ecx, 0x10
add eax, 4
mov dword [ebp - 0x10], ecx
mov dword [ebp - 4], eax
test ecx, ecx
je 0x45bd3f
cmp dword [eax], 0x54584554
jne 0x45a844
cmp dword [esi + 0x10], 0
je 0x45a7f7
mov edx, dword [0x551d08]
push edx
push 0x439ea0
mov ecx, esi
call fcn.00457180
add esp, 8
mov eax, dword [ebp - 0x14]
test eax, eax
jbe 0x45a816
mov dword [ebp - 0x18], eax
push 0x43ac8c
mov ecx, esi
call fcn.00457180
add esp, 4
sub dword [ebp - 0x18], 1
jne 0x45a801
mov eax, dword [ebp - 4]
add eax, 4
push eax
push 0x43ac90
mov ecx, esi
call fcn.00457180
add esp, 8
cmp dword [esi + 0x10], 0
je 0x45a841
push 0x439eb8
mov ecx, esi
call fcn.00457180
add esp, 4
mov eax, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
lea eax, [eax + ecx*4]
mov dword [ebp - 4], eax
jmp 0x45bd3f
cmp dword [ebp - 0xc], 0
je 0x45a9d6
cmp ebx, dword [ebp - 0x54]
jae 0x45a9d6
sub eax, dword [ebp + 0x10]
mov ecx, dword [ebx + 4]
sar eax, 2
shr ecx, 2
mov dword [ebp - 0x1c], eax
cmp eax, ecx
jne 0x45a9bc
movzx ecx, word [ebx + 2]
cmp cx, word [ebp - 0x50]
je 0x45a911
mov edx, 0xffff
cmp dx, cx
je 0x45a902
push 0x439fa0
mov ecx, esi
call fcn.00457180
add esp, 4
mov eax, 1
mov ecx, esi
call fcn.004571f0
push 0x43ac9c
mov ecx, esi
call fcn.00457180
add esp, 4
mov ecx, esi
call fcn.00457220
mov eax, 3
mov ecx, esi
call fcn.004571f0
movzx eax, word [ebx + 2]
mov ecx, dword [ebp - 0x5c]
mov edx, dword [ecx + eax*4]
add edx, dword [ebp - 0xc]
movzx eax, word [ebx]
push edx
push eax
push 0x43aca4
mov ecx, esi
call fcn.00457180
add esp, 0xc
mov ecx, esi
call fcn.00457220
movzx ecx, word [ebx]
mov eax, dword [ebp - 0x1c]
mov dword [ebp - 0x38], ecx
movzx ecx, word [ebx + 2]
mov dword [ebp - 0x50], ecx
movzx ecx, word [ebx]
jmp 0x45a9b6
movzx ecx, word [ebx]
cmp cx, word [ebp - 0x24]
je 0x45a9bc
movzx edx, word [ebp - 0x24]
movzx eax, cx
mov dword [ebp - 0x10], edx
add edx, 2
cmp eax, edx
jg 0x45a950
add eax, 2
cmp eax, dword [ebp - 0x10]
jl 0x45a950
movzx eax, word [ebp - 0x38]
lea edx, [eax + 0xa]
mov dword [ebp - 0x10], eax
movzx eax, cx
cmp eax, edx
jg 0x45a950
add eax, 0xa
cmp eax, dword [ebp - 0x10]
jge 0x45a9b0
push 0x439fa0
mov ecx, esi
call fcn.00457180
add esp, 4
mov eax, 1
mov ecx, esi
call fcn.004571f0
push 0x43ac9c
mov ecx, esi
call fcn.00457180
add esp, 4
mov ecx, esi
call fcn.00457220
mov eax, 3
mov ecx, esi
call fcn.004571f0
movzx eax, word [ebx]
push eax
push 0x43acb0
mov ecx, esi
call fcn.00457180
add esp, 8
mov ecx, esi
call fcn.00457220
movzx ecx, word [ebx]
movzx edx, cx
mov dword [ebp - 0x38], edx
mov eax, dword [ebp - 0x1c]
movzx ecx, cx
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebx + 4]
shr ecx, 2
cmp eax, ecx
jb 0x45a9d6
mov ecx, dword [ebx + 0xc]
add ebx, 8
shr ecx, 2
cmp eax, ecx
jae 0x45a9c6
mov dword [ebp - 0x2c], ebx
mov eax, dword [ebp - 0x14]
test eax, eax
je 0x45aa14
cmp edx, 0x2a
je 0x45a9f1
cmp edx, 0x2b
je 0x45a9f1
cmp edx, 0x27
je 0x45a9f1
cmp edx, 0x1d
jne 0x45a9f5
dec eax
mov dword [ebp - 0x14], eax
test eax, eax
jbe 0x45aa14
mov ebx, dword [ebp - 0x14]
lea esp, [esp]
push 0x43ac8c
mov ecx, esi
call fcn.00457180
add esp, 4
sub ebx, 1
jne 0x45aa00
mov ebx, dword [ebp - 4]
test dword [ebx], 0x40000000
je 0x45aa69
cmp dword [esi + 0x10], 0
je 0x45aa3b
mov edx, dword [0x551d10]
push edx
push 0x439ea0
mov ecx, esi
call fcn.00457180
add esp, 8
push 0x43acb4
mov ecx, esi
call fcn.00457180
add esp, 4
cmp dword [esi + 0x10], 0
je 0x45aa5f
push 0x439eb8
mov ecx, esi
call fcn.00457180
add esp, 4
test edi, edi
je 0x45aa78
dec edi
mov dword [ebp + 0xc], edi
jmp 0x45aa78
push 0x439ec0
mov ecx, esi
call fcn.00457180
add esp, 4
mov eax, dword [ebp - 0x20]
test eax, eax
je 0x45aad3
cmp eax, 0x19
je 0x45aad3
cmp eax, 0x1a
je 0x45aad3
cmp eax, 0x1b
je 0x45aad3
cmp eax, 0x1c
je 0x45aad3
cmp eax, 0x1d
je 0x45aad3
cmp eax, 0x1e
je 0x45aad3
cmp eax, 0x26
je 0x45aad3
cmp eax, 0x27
je 0x45aad3
cmp eax, 0x28
je 0x45aad3
cmp eax, 0x29
je 0x45aad3
cmp eax, 0x2a
je 0x45aad3
cmp eax, 0x2b
je 0x45aad3
cmp eax, 0x2c
je 0x45aad3
cmp eax, 0x2d
je 0x45aad3
cmp eax, 0xfffd
je 0x45aad3
mov eax, 1
jmp 0x45aad5
xor eax, eax
test dword [ebx], 0x10000000
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x1c], 0
je 0x45ab99
mov ebx, dword [ebp - 4]
test eax, eax
je 0x45aaf7
add ebx, 8
jmp 0x45aafa
add ebx, 4
test dword [ebx], 0x80000000
je 0x45ab99
cmp dword [esi + 0x10], 0
je 0x45ab21
mov eax, dword [0x551d10]
push eax
push 0x439ea0
mov ecx, esi
call fcn.00457180
add esp, 8
push 0x43ab00
mov ecx, esi
call fcn.00457180
mov ecx, dword [ebx]
and ecx, 0xf000000
add esp, 4
cmp ecx, 0xd000000
jne 0x45ab4f
push 0x43acbc
mov ecx, esi
call fcn.00457180
add esp, 4
mov eax, dword [ebp - 8]
mov ecx, dword [ebx]
lea edx, [ebp - 0x34]
push edx
push eax
push 0
push ecx
push esi
call fcn.00458f40
mov edi, dword [ebx]
mov ebx, esi
call fcn.00458e90
push 0x43acc0
mov ecx, esi
call fcn.00457180
add esp, 4
cmp dword [esi + 0x10], 0
je 0x45ab8f
push 0x439eb8
mov ecx, esi
call fcn.00457180
add esp, 4
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x1c], 1
cmp dword [ebp - 0x1c], 0
mov ebx, edi
je 0x45aba5
inc edi
mov dword [ebp + 0xc], edi
mov eax, dword [ebp - 0x20]
cmp eax, 0xfffd
ja case.0x45abc2.49
je 0x45b36f
cmp eax, 0x60
ja case.0x45abc2.49
jmp dword [eax*4 + 0x45be28]
push 0x438f4c
jmp 0x45b37b
push 0x438e34
jmp 0x45b37b
push 0x438e2c
jmp 0x45b37b
push 0x438e24
jmp 0x45b37b
push 0x438f50
jmp 0x45b37b
push 0x438ff0
mov ecx, esi
call fcn.00457180
movzx edx, word [ebp - 8]
add esp, 4
cmp edx, 0x2000
jb 0x45b385
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fec
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438ef8
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fe8
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fe4
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fe0
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fdc
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fd8
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fd4
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fd0
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fcc
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fc8
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fc4
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fc0
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fbc
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fac
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f3c
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f48
mov ecx, esi
call fcn.00457180
add esp, 4
add edi, 3
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f44
mov ecx, esi
call fcn.00457180
add esp, 4
add edi, 2
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f40
jmp 0x45ada8
push 0x438f38
jmp 0x45ada8
push 0x438e44
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438e3c
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438e38
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438ddc
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438db8
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f30
mov ecx, esi
call fcn.00457180
add esp, 4
add edi, 8
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fb0
mov ecx, esi
call fcn.00457180
movzx eax, word [ebp - 8]
add esp, 4
cmp eax, 0x2000
jae 0x45adb2
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fa8
mov ecx, esi
call fcn.00457180
movzx ecx, word [ebp - 8]
add esp, 4
cmp ecx, 0x2000
jae 0x45af19
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f9c
mov ecx, esi
call fcn.00457180
add esp, 4
add edi, 4
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f94
jmp 0x45ada8
push 0x438f8c
mov ecx, esi
call fcn.00457180
add esp, 4
add edi, 4
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f84
jmp 0x45ada8
push 0x438f7c
mov ecx, esi
call fcn.00457180
add esp, 4
add edi, 2
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f74
mov ecx, esi
call fcn.00457180
add esp, 4
add edi, 2
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f6c
jmp 0x45ada8
push 0x438f64
mov ecx, esi
call fcn.00457180
add edi, 3
add esp, 4
inc dword [ebp - 0x14]
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f60
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f58
mov ecx, esi
call fcn.00457180
add esp, 4
add edi, 2
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f2c
jmp 0x45af4d
push 0x438f24
mov ecx, esi
call fcn.00457180
add esp, 4
add edi, 2
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f20
jmp 0x45af4d
push 0x438f18
mov ecx, esi
call fcn.00457180
inc edi
add esp, 4
inc dword [ebp - 0x14]
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f10
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f08
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438f08
jmp 0x45ada8
push 0x438edc
mov ecx, esi
call fcn.00457180
movzx edx, word [ebp - 8]
add esp, 4
cmp edx, 0x2000
ja 0x45af19
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438eb8
mov ecx, esi
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438eb0
mov ecx, esi
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438ea4
mov ecx, esi
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438e98
mov ecx, esi
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438e18
mov ecx, esi
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438db0
mov ecx, esi
call fcn.00457180
add esp, 4
add dword [ebp + 8], 2
jmp 0x45b385
push 0x438dc0
mov ecx, esi
call fcn.00457180
inc dword [ebp + 8]
add esp, 4
add edi, 2
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438e8c
mov ecx, esi
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438e80
mov ecx, esi
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438e74
mov ecx, esi
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438e68
mov ecx, esi
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438e5c
mov ecx, esi
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438e4c
mov ecx, esi
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438dfc
mov ecx, esi
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438dec
mov ecx, esi
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438e0c
mov ecx, esi
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438df4
mov ecx, esi
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438de0
mov ecx, esi
call fcn.00457180
add esp, 4
inc edi
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438dd8
mov ecx, esi
call fcn.00457180
add esp, 4
add edi, 2
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438dd0
mov ecx, esi
call fcn.00457180
add esp, 4
add edi, 2
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438dcc
mov ecx, esi
call fcn.00457180
add esp, 4
add edi, 2
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438dc8
mov ecx, esi
call fcn.00457180
add esp, 4
add edi, 2
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x43acc4
jmp 0x45b37b
push 0x438fb8
mov ecx, esi
call fcn.00457180
movzx eax, word [ebp - 8]
add esp, 4
cmp eax, 0x101
jne 0x45ac1a
add edi, 0xa
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fb4
mov ecx, esi
call fcn.00457180
movzx ecx, word [ebp - 8]
add esp, 4
cmp ecx, 0x101
jne 0x45ac1a
add edi, 0xa
mov dword [ebp + 0xc], edi
jmp 0x45b385
push 0x438fa4
mov ecx, esi
call fcn.00457180
movzx edx, word [ebp - 8]
add esp, 4
cmp edx, 0x101
jne 0x45ac1a
add edi, 3
mov dword [ebp + 0xc], edi
jmp 0x45b385
movzx eax, word [ebp - 8]
mov ecx, esi
cmp eax, 0x104
jb 0x45b32b
mov eax, dword [ebp - 0x18]
shl eax, 0x10
cmp eax, 0x10000
je 0x45b319
cmp eax, 0x20000
je 0x45b307
push 0x438ed0
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438ec0
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438ec8
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438ed8
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
movzx ecx, word [ebp - 8]
cmp ecx, 0x104
mov ecx, esi
jb 0x45b35d
push 0x438ee4
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438eec
call fcn.00457180
add esp, 4
inc dword [ebp + 8]
jmp 0x45b385
push 0x438da8
jmp 0x45b37b
push 0x43acd0
mov ecx, esi
call fcn.00457180
add esp, 4
mov eax, dword [ebp - 8]
mov edx, eax
and edx, 0xffff0000
cmp edx, 0xffff0000
jne 0x45b3aa
movzx eax, ax
cmp eax, 0x200
jae 0x45b3aa
cmp edi, ebx
jbe 0x45b3aa
inc ebx
mov dword [ebp + 0xc], ebx
mov ebx, dword [ebp - 4]
mov edi, dword [ebp - 0x20]
add ebx, 4
mov dword [ebp - 4], ebx
cmp edi, 0x1f
jne 0x45b4f8
mov ecx, dword [ebx]
mov eax, ecx
and eax, 0x78000000
je 0x45b441
mov ecx, esi
cmp eax, 0x10000000
je 0x45b429
cmp eax, 0x18000000
je 0x45b411
cmp eax, 0x20000000
je 0x45b3f9
push 0x43ace8
call fcn.00457180
add esp, 4
add ebx, 4
mov dword [ebp - 4], ebx
jmp case.default.0x45b510
push 0x43ace0
call fcn.00457180
add esp, 4
add ebx, 4
mov dword [ebp - 4], ebx
jmp case.default.0x45b510
push 0x43acd8
call fcn.00457180
add esp, 4
add ebx, 4
mov dword [ebp - 4], ebx
jmp case.default.0x45b510
push 0x43acd4
call fcn.00457180
add esp, 4
add ebx, 4
mov dword [ebp - 4], ebx
jmp case.default.0x45b510
test ecx, 0x7fffffff
jne 0x45b455
cmp edx, 0xfffe0000
jne 0x45b4f0
mov eax, ecx
and eax, 0xf
cmp eax, 0xd
ja case.default.0x45b45f
jmp dword [eax*4 + 0x45bfac]
push 0x43acf4
jmp 0x45b4cd
push 0x43ad00
jmp 0x45b4cd
push 0x43ad10
jmp 0x45b4cd
push 0x43ad20
jmp 0x45b4cd
push 0x43ad28
jmp 0x45b4cd
push 0x43ad30
jmp 0x45b4cd
push 0x43ad3c
jmp 0x45b4cd
push 0x43ad48
jmp 0x45b4cd
push 0x43ad54
jmp 0x45b4cd
push 0x43ad60
jmp 0x45b4cd
push 0x43ad6c
jmp 0x45b4cd
push 0x43ad74
jmp 0x45b4cd
push 0x43ad7c
jmp 0x45b4cd
push 0x43ad84
jmp 0x45b4cd
push 0x43ace8
mov ecx, esi
call fcn.00457180
movzx eax, word [ebx + 2]
add esp, 4
and eax, 0xf
je 0x45b4f0
push eax
push 0x43ad8c
mov ecx, esi
call fcn.00457180
add esp, 8
add ebx, 4
mov dword [ebp - 4], ebx
jmp case.default.0x45b510
cmp edi, 0x29
je 0x45b507
cmp edi, 0x2d
je 0x45b507
cmp edi, 0x5e
jne case.default.0x45b510
mov eax, dword [ebp - 0x18]
dec eax
cmp eax, 5
ja case.default.0x45b510
jmp dword [eax*4 + 0x45bfe4]
push 0x43ad90
jmp 0x45b53f
push 0x43ad94
jmp 0x45b53f
push 0x43ad98
jmp 0x45b53f
push 0x43ad9c
jmp 0x45b53f
push 0x43ada0
jmp 0x45b53f
push 0x43ada4
mov ecx, esi
call fcn.00457180
add esp, 4
cmp dword [ebp - 0x10], 0
mov dword [ebp - 0x18], 0
je 0x45b6d2
mov edi, dword [ebx]
test edi, edi
jns 0x45b6cf
mov ecx, edi
shr ecx, 0x18
and ecx, 0xf
lea eax, [ecx - 1]
cmp eax, 0xe
ja case.0x45b57b.4
movzx edx, byte [eax + 0x45c018]
jmp dword [edx*4 + 0x45bffc]
push 0x43ada8
jmp 0x45b5aa
push 0x43adac
jmp 0x45b5aa
push 0x43adb0
jmp 0x45b5aa
push 0x43adb4
jmp 0x45b5aa
push 0x43adb8
jmp 0x45b5aa
push 0x43adbc
mov ecx, esi
call fcn.00457180
add esp, 4
test edi, 0x100000
je 0x45b5cb
push 0x43adc0
mov ecx, esi
call fcn.00457180
add esp, 4
test edi, 0x200000
je 0x45b5e2
push 0x43adc8
mov ecx, esi
call fcn.00457180
add esp, 4
test edi, 0x400000
je 0x45b5f9
push 0x43adcc
mov ecx, esi
call fcn.00457180
add esp, 4
push 0x439e9c
mov ecx, esi
call fcn.00457180
add esp, 4
cmp dword [esi + 0x10], 0
je 0x45b623
mov eax, dword [0x551d10]
push eax
push 0x439ea0
mov ecx, esi
call fcn.00457180
add esp, 8
mov edx, dword [ebp - 8]
lea ecx, [ebp - 0x34]
push ecx
push edx
push 0
push edi
push esi
call fcn.00458f40
mov eax, edi
and eax, 0xf0000
cmp eax, 0xf0000
je 0x45b6ad
push 0x43a720
mov ecx, esi
call fcn.00457180
add esp, 4
test edi, 0x10000
je 0x45b668
push 0x43a870
mov ecx, esi
call fcn.00457180
add esp, 4
test edi, 0x20000
je 0x45b67f
push 0x43a874
mov ecx, esi
call fcn.00457180
add esp, 4
test edi, 0x40000
je 0x45b696
push 0x43a878
mov ecx, esi
call fcn.00457180
add esp, 4
test edi, 0x80000
je 0x45b6ad
push 0x43a87c
mov ecx, esi
call fcn.00457180
add esp, 4
cmp dword [esi + 0x10], 0
je 0x45b6c2
push 0x439eb8
mov ecx, esi
call fcn.00457180
add esp, 4
add ebx, 4
mov dword [ebp - 4], ebx
mov dword [ebp - 0x18], 1
mov edi, dword [ebp - 0x20]
cmp dword [ebp - 0x1c], 0
je 0x45b6de
add ebx, 4
mov dword [ebp - 4], ebx
cmp edi, 0x51
jne 0x45b789
mov edi, 4
lea esp, [esp]
cmp dword [esi + 0x10], 0
je 0x45b70c
mov ecx, dword [0x551d10]
push ecx
push 0x439ea0
mov ecx, esi
call fcn.00457180
add esp, 8
push 0x43ab24
mov ecx, esi
call fcn.00457180
add esp, 4
cmp dword [esi + 0x10], 0
je 0x45b74c
push 0x439eb8
mov ecx, esi
call fcn.00457180
add esp, 4
cmp dword [esi + 0x10], 0
je 0x45b74c
mov edx, dword [0x551d14]
push edx
push 0x439ea0
mov ecx, esi
call fcn.00457180
add esp, 8
fld dword [ebx]
sub esp, 8
fstp qword [esp]
push 0x43add8
mov ecx, esi
call fcn.00457180
add esp, 0xc
cmp dword [esi + 0x10], 0
je 0x45b778
push 0x439eb8
mov ecx, esi
call fcn.00457180
add esp, 4
add ebx, 4
sub edi, 1
jne 0x45b6f0
jmp 0x45b8c5
cmp edi, 0x30
jne 0x45b82a
mov edi, 4
cmp dword [esi + 0x10], 0
je 0x45b7b2
mov eax, dword [0x551d10]
push eax
push 0x439ea0
mov ecx, esi
call fcn.00457180
add esp, 8
push 0x43ab24
mov ecx, esi
call fcn.00457180
add esp, 4
cmp dword [esi + 0x10], 0
je 0x45b7f2
push 0x439eb8
mov ecx, esi
call fcn.00457180
add esp, 4
cmp dword [esi + 0x10], 0
je 0x45b7f2
mov ecx, dword [0x551d14]
push ecx
push 0x439ea0
mov ecx, esi
call fcn.00457180
add esp, 8
mov edx, dword [ebx]
push edx
push 0x43aac4
mov ecx, esi
call fcn.00457180
add esp, 8
cmp dword [esi + 0x10], 0
je 0x45b819
push 0x439eb8
mov ecx, esi
call fcn.00457180
add esp, 4
add ebx, 4
sub edi, 1
jne 0x45b797
jmp 0x45b8c5
cmp edi, 0x2f
jne 0x45b8c8
cmp dword [esi + 0x10], 0
je 0x45b84e
mov eax, dword [0x551d10]
push eax
push 0x439ea0
mov ecx, esi
call fcn.00457180
add esp, 8
push 0x43ab24
mov ecx, esi
call fcn.00457180
add esp, 4
cmp dword [esi + 0x10], 0
je 0x45b88e
push 0x439eb8
mov ecx, esi
call fcn.00457180
add esp, 4
cmp dword [esi + 0x10], 0
je 0x45b88e
mov ecx, dword [0x551d14]
push ecx
push 0x439ea0
mov ecx, esi
call fcn.00457180
add esp, 8
cmp dword [ebx], 0
mov eax, 0x4395c8
jne 0x45b89d
mov eax, 0x4395d0
push eax
push 0x439884
mov ecx, esi
call fcn.00457180
add esp, 8
cmp dword [esi + 0x10], 0
je 0x45b8c2
push 0x439eb8
mov ecx, esi
call fcn.00457180
add esp, 4
add ebx, 4
mov dword [ebp - 4], ebx
test dword [ebx], 0x80000000
je 0x45ba74
cmp dword [esi + 0x10], 0
je 0x45b8f0
mov edx, dword [0x551d10]
push edx
push 0x439ea0
mov ecx, esi
call fcn.00457180
add esp, 8
cmp dword [ebp - 0x18], 0
mov eax, 0x43ab24
jne 0x45b900
mov eax, 0x439e9c
push eax
mov ecx, esi
call fcn.00457180
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
add esp, 4
xor ebx, ebx
mov dword [ebp - 0x1c], ecx
test ecx, 0x2000
je 0x45b939
movzx ecx, word [ebp - 8]
cmp ecx, 0x200
jb 0x45b934
mov ebx, dword [eax + 4]
add eax, 4
mov dword [ebp - 4], eax
jmp 0x45b939
mov ebx, 0xb0000000
mov edi, dword [ebp - 0x1c]
and edi, 0xf000000
cmp edi, 0x6000000
ja 0x45b9bf
je 0x45b9b8
cmp edi, 0x1000000
je 0x45b964
cmp edi, 0x3000000
je 0x45b964
cmp edi, 0x5000000
jne 0x45b973
push 0x43a9fc
mov ecx, esi
call fcn.00457180
add esp, 4
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 0x1c]
lea edx, [ebp - 0x34]
push edx
push eax
push ebx
push ecx
push esi
call fcn.00458f40
cmp edi, 0x8000000
ja 0x45b9fc
je 0x45b9ee
cmp edi, 0x4000000
ja 0x45b9de
je 0x45b9f5
cmp edi, 0x2000000
je 0x45b9ae
cmp edi, 0x3000000
jne 0x45ba3b
push 0x43ade4
jmp 0x45ba31
push 0x43ade0
jmp 0x45b969
cmp edi, 0x8000000
je 0x45b964
cmp edi, 0xc000000
je 0x45b964
cmp edi, 0xd000000
jne 0x45b973
push 0x43acbc
jmp 0x45b969
cmp edi, 0x5000000
je 0x45b9f5
cmp edi, 0x7000000
jne 0x45ba3b
push 0x43adb0
jmp 0x45ba31
push 0x43adec
jmp 0x45ba31
cmp edi, 0xb000000
ja 0x45ba24
je 0x45ba2c
cmp edi, 0x9000000
je 0x45ba1d
cmp edi, 0xa000000
jne 0x45ba3b
push 0x43adf8
jmp 0x45ba31
push 0x43adf4
jmp 0x45ba31
cmp edi, 0xc000000
jne 0x45ba3b
push 0x43adfc
mov ecx, esi
call fcn.00457180
add esp, 4
mov edi, dword [ebp - 0x1c]
mov ebx, esi
call fcn.00458e90
add dword [ebp - 4], 4
cmp dword [esi + 0x10], 0
mov dword [ebp - 0x18], 1
je 0x45ba65
push 0x439eb8
mov ecx, esi
call fcn.00457180
add esp, 4
mov edx, dword [ebp - 4]
test dword [edx], 0x80000000
jne 0x45b8d4
cmp dword [ebp - 0xc], 0
je 0x45bd27
mov ecx, dword [ebp - 0x64]
test ecx, ecx
je 0x45bd27
mov eax, dword [ebp - 0x2c]
sub eax, dword [ebp - 0x60]
xor ebx, ebx
sar eax, 3
dec eax
mov dword [ebp - 0x18], eax
xor eax, eax
mov dword [ebp - 0x48], eax
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], eax
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x58]
cmp ecx, eax
jae 0x45bbf9
mov edx, eax
sub edx, ecx
dec edx
mov eax, 0xcccccccd
mul edx
shr edx, 4
inc edx
lea edi, [ecx + 4]
mov dword [ebp - 0x10], edx
mov eax, dword [edi + 0xc]
add eax, dword [ebp - 0xc]
mov ecx, dword [edi + 8]
lea ecx, [ecx + ecx*2]
lea ecx, [eax + ecx*4]
cmp eax, ecx
jae 0x45bbec
mov edx, dword [ebp - 0x18]
cmp dword [eax], edx
je 0x45baf1
add eax, 0xc
cmp eax, ecx
jb 0x45bae1
jmp 0x45bbec
movzx edx, word [eax + 4]
mov ecx, 0xffff
cmp cx, dx
je 0x45bb32
mov ecx, dword [edi - 4]
test ecx, ecx
je 0x45bb0d
mov ebx, dword [ebp - 0xc]
add ecx, ebx
jmp 0x45bb0f
xor ecx, ecx
mov dword [ebp - 0x84], ecx
mov ecx, dword [edi]
test ecx, ecx
je 0x45bb22
mov ebx, dword [ebp - 0xc]
add ecx, ebx
jmp 0x45bb24
xor ecx, ecx
movzx edx, dx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x74], edx
mov ebx, 1
movzx edx, word [eax + 6]
mov ecx, 0xffff
cmp cx, dx
je 0x45bb70
mov ecx, dword [edi - 4]
test ecx, ecx
je 0x45bb4e
mov ebx, dword [ebp - 0xc]
add ecx, ebx
jmp 0x45bb50
xor ecx, ecx
mov dword [ebp - 0x80], ecx
mov ecx, dword [edi]
test ecx, ecx
je 0x45bb60
mov ebx, dword [ebp - 0xc]
add ecx, ebx
jmp 0x45bb62
xor ecx, ecx
movzx edx, dx
mov dword [ebp - 0x44], ecx
mov dword [ebp - 0x70], edx
mov ebx, 1
movzx edx, word [eax + 8]
mov ecx, 0xffff
cmp cx, dx
je 0x45bbae
mov ecx, dword [edi - 4]
test ecx, ecx
je 0x45bb8c
mov ebx, dword [ebp - 0xc]
add ecx, ebx
jmp 0x45bb8e
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
mov ecx, dword [edi]
test ecx, ecx
je 0x45bb9e
mov ebx, dword [ebp - 0xc]
add ecx, ebx
jmp 0x45bba0
xor ecx, ecx
movzx edx, dx
mov dword [ebp - 0x40], ecx
mov dword [ebp - 0x6c], edx
mov ebx, 1
movzx ecx, word [eax + 0xa]
mov eax, 0xffff
cmp ax, cx
je 0x45bbec
mov eax, dword [edi - 4]
test eax, eax
je 0x45bbca
mov edx, dword [ebp - 0xc]
add eax, edx
jmp 0x45bbcc
xor eax, eax
mov dword [ebp - 0x78], eax
mov eax, dword [edi]
test eax, eax
je 0x45bbdc
mov edx, dword [ebp - 0xc]
add eax, edx
jmp 0x45bbde
xor eax, eax
mov dword [ebp - 0x3c], eax
movzx eax, cx
mov dword [ebp - 0x68], eax
mov ebx, 1
add edi, 0x14
sub dword [ebp - 0x10], 1
jne 0x45bac7
cmp dword [esi + 0x10], 0
je 0x45bc15
mov ecx, dword [0x551d08]
push ecx
push 0x439ea0
mov ecx, esi
call fcn.00457180
add esp, 8
test ebx, ebx
je 0x45bd12
push 0x43ae04
mov ecx, esi
call fcn.00457180
add esp, 4
xor edx, edx
xor eax, eax
xor ecx, ecx
xor ebx, ebx
cmp dword [ebp + ebx - 0x48], 0
je 0x45bcf3
mov edi, dword [ebp + ebx - 0x84]
cmp eax, edi
jne 0x45bc69
cmp ecx, dword [ebp + ebx - 0x48]
jne 0x45bc69
mov edx, dword [ebp + ebx - 0x74]
push edx
push 0x43ae0c
mov ecx, esi
call fcn.00457180
add esp, 8
jmp 0x45bce8
test edx, edx
je 0x45bc7c
push 0x43ae10
mov ecx, esi
call fcn.00457180
add esp, 4
test edi, edi
je 0x45bcc0
mov ecx, dword [ebp - 0x4c]
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x45bca5
test dl, dl
je 0x45bca1
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x45bca5
add eax, 2
add ecx, 2
test dl, dl
jne 0x45bc85
xor eax, eax
jmp 0x45bcaa
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x45bccf
push edi
push 0x43ae14
mov ecx, esi
call fcn.00457180
add esp, 8
jmp 0x45bccf
push 0x43ae1c
mov ecx, esi
call fcn.00457180
add esp, 4
mov eax, dword [ebp + ebx - 0x74]
push eax
mov eax, dword [ebp + ebx - 0x48]
push eax
push 0x43ae20
mov ecx, esi
call fcn.00457180
add esp, 0xc
mov ecx, dword [ebp + ebx - 0x48]
mov eax, edi
mov edx, 1
add ebx, 4
cmp ebx, 0x10
jb 0x45bc34
test edx, edx
je 0x45bd12
push 0x43ae28
mov ecx, esi
call fcn.00457180
add esp, 4
cmp dword [esi + 0x10], 0
je 0x45bd27
push 0x439eb8
mov ecx, esi
call fcn.00457180
add esp, 4
push 0x439fa0
mov ecx, esi
call fcn.00457180
mov edi, dword [ebp + 0xc]
mov ebx, dword [ebp - 0x2c]
mov eax, dword [ebp - 4]
add esp, 4
mov ecx, dword [eax]
movzx edx, cx
mov dword [ebp - 0x10], ecx
movzx ecx, byte [eax + 2]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x18], ecx
cmp edx, 0xffff
jne 0x45a7b0
push 0x439fa0
mov ecx, esi
call fcn.00457180
mov ebx, dword [ebp + 8]
add esp, 4
cmp dword [esi + 0x10], 0
je 0x45bda0
push 0x439eb8
mov ecx, esi
call fcn.00457180
add esp, 4
cmp dword [esi + 0x10], 0
je 0x45bda0
mov edx, dword [0x551d08]
push edx
push 0x439ea0
mov ecx, esi
call fcn.00457180
add esp, 8
lea eax, [ebx + edi]
cmp eax, 1
mov eax, 0x438ff4
je 0x45bdb2
mov eax, 0x438d50
push eax
lea eax, [ebx + edi]
push eax
push 0x43ae2c
mov ecx, esi
call fcn.00457180
add esp, 0xc
test ebx, ebx
je 0x45bddb
push edi
push ebx
push 0x43ae58
mov ecx, esi
call fcn.00457180
add esp, 0xc
push 0x439fa0
mov ecx, esi
call fcn.00457180
add esp, 4
cmp dword [esi + 0x10], 0
je 0x45be0c
push 0x439eb8
mov ecx, esi
call fcn.00457180
add esp, 4
jmp 0x45be0c
push esi
mov ebx, edi
call fcn.00458d80
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x30]
test eax, eax
je 0x45be1b
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
mov eax, dword [ebp - 0x28]
pop edi
pop ebx
mov esp, ebp
pop ebp
ret 0xc