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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x90]
cmp eax, dword [ecx + 8]
jbe 0x45b4a3
sub esp, 0x110
mov esi, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
cmp ecx, esi
jne 0x45a624
mov byte [esp + 0x11c], 1
add esp, 0x110
ret
movzx ebp, byte [ecx + 0xf]
mov ebx, ebp
and ebx, 0x1f
mov edx, ebx
movzx ebp, byte [esi + 0xf]
mov ebx, ebp
and ebx, 0x1f
mov byte [esp + 0x17], dl
cmp bl, dl
je 0x45a64f
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
mov dword [esp], ecx
call fcn.00458fb0
mov ebx, dword [esp + 4]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
call fcn.00458fb0
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 4]
mov edx, dword [esp + 8]
cmp edi, edx
jne 0x45b494
mov ebp, dword [esp + 0x90]
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 0x88], esi
mov dword [esp + 8], esi
mov dword [esp + 0x8c], edx
mov dword [esp + 0xc], edx
call fcn.004633f0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x45b494
mov ebx, dword [esp + 0x114]
mov dword [esp], ebx
call fcn.00459050
mov ebx, dword [esp + 4]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
call fcn.00459050
movzx edi, byte [esp + 0x17]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
mov eax, dword [esp + 4]
xor ebp, ebp
cmp esi, ebp
jne 0x45b3aa
xor ebp, ebp
cmp eax, ebp
jne 0x45b3aa
xchg edi, eax
cmp al, 1
xchg edi, eax
jb 0x45a73c
xchg edi, eax
cmp al, 0x10
xchg edi, eax
ja 0x45a73c
mov byte [esp + 0x11c], 1
add esp, 0x110
ret
xchg edi, eax
cmp al, 0x15
xchg edi, eax
ja 0x45b06d
xchg edi, eax
cmp al, 0x12
xchg edi, eax
ja 0x45a84e
xchg edi, eax
cmp al, 0x11
xchg edi, eax
jne 0x45a7a8
mov dword [esp + 0x74], ecx
mov ebp, dword [ecx + 0x20]
mov dword [esp], ebp
mov dword [esp + 0x68], edx
mov ebp, dword [edx + 0x20]
mov dword [esp + 4], ebp
call fcn.0045a5e0
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x45a79e
mov ebx, dword [esp + 0x74]
mov ecx, dword [ebx + 0x28]
mov ebx, dword [esp + 0x68]
mov ebp, dword [ebx + 0x28]
cmp ecx, ebp
jne 0x45a79e
mov byte [esp + 0x11c], 1
add esp, 0x110
ret
mov byte [esp + 0x11c], 0
jmp 0x45a797
xchg edi, eax
cmp al, 0x12
xchg edi, eax
jne 0x45a7ee
mov esi, dword [ecx + 0x24]
mov ebp, dword [edx + 0x24]
cmp esi, ebp
jne 0x45a7e4
mov ebp, dword [ecx + 0x20]
mov dword [esp], ebp
mov ebp, dword [edx + 0x20]
mov dword [esp + 4], ebp
call fcn.0045a5e0
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x45a7e4
mov byte [esp + 0x11c], 1
add esp, 0x110
ret
mov byte [esp + 0x11c], 0
jmp 0x45a7dd
call fcn.00437de0
mov ebx, 0x766f5b
mov dword [esp], ebx
mov dword [esp + 4], 0x1d
call fcn.004387f0
call fcn.00437ff0
movzx ebx, byte [esp + 0x17]
xor ecx, ecx
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00438600
call fcn.00438030
call fcn.00437e60
mov ebx, 0x766f5b
mov dword [esp], ebx
mov dword [esp + 4], 0x1d
call fcn.00437600
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
xchg edi, eax
cmp al, 0x13
xchg edi, eax
jne 0x45ac9d
mov dword [esp + 0x64], ecx
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 0x64]
movzx ebp, word [ebx + 0x22]
mov ecx, ebp
mov ebx, dword [esp + 0x60]
movzx ebp, word [ebx + 0x22]
cmp cx, bp
jne 0x45ac8e
mov ebx, dword [esp + 0x64]
movzx ebp, word [ebx + 0x20]
mov ecx, ebp
mov ebx, dword [esp + 0x60]
movzx ebp, word [ebx + 0x20]
cmp cx, bp
jne 0x45ac8e
mov ecx, dword [esp + 0x64]
xor ebx, ebx
mov eax, 0x24
movzx ebp, byte [ecx + 0xc]
mov ebx, ebp
and ebx, 1
cmp bl, 0
je 0x45a8b3
add eax, 0x10
mov edx, ecx
add edx, eax
movzx ebp, word [ecx + 0x20]
cmp ebp, 0x100000
ja 0x45ac87
mov esi, edx
cmp edx, 0
je 0x45ac80
mov edi, 0x100000
mov dword [esp + 0xa8], ebp
mov ecx, dword [esp + 0x60]
xor ebx, ebx
mov eax, 0x24
movzx ebp, byte [ecx + 0xc]
mov ebx, ebp
and ebx, 1
cmp bl, 0
je 0x45a8fa
add eax, 0x10
mov edx, ecx
add edx, eax
movzx ebp, word [ecx + 0x20]
mov eax, ebp
cmp ebp, 0x100000
ja 0x45ac79
mov ebp, edx
cmp edx, 0
je 0x45ac72
mov ecx, eax
mov eax, 0x100000
mov dword [esp + 0xa4], esi
mov ebx, dword [esp + 0xa8]
mov dword [esp + 0x108], ebx
mov dword [esp + 0xac], edi
mov dword [esp + 0xbc], edx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
mov dword [esp + 0x104], esi
mov dword [esp + 0xec], esi
mov edx, dword [esp + 0x108]
mov dword [esp + 0x10c], edi
mov dword [esp + 0xf4], edi
mov dword [esp + 0xf8], ebp
mov dword [esp + 0xd4], ebp
mov dword [esp + 0xfc], ecx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x100], eax
mov dword [esp + 0xdc], eax
xor eax, eax
mov dword [esp + 0xf0], edx
cmp eax, edx
jge 0x45aa26
mov ebx, eax
cmp eax, edx
jae 0x45ac6b
mov ebp, dword [esp + 0xec]
shl ebx, 2
add ebp, ebx
mov ebx, dword [ebp]
mov dword [esp], ebx
mov dword [esp + 0x1c], eax
mov ebx, eax
mov ebp, dword [esp + 0xd8]
cmp eax, ebp
jae 0x45ac64
mov ebp, dword [esp + 0xd4]
shl ebx, 2
add ebp, ebx
mov ebx, dword [ebp]
mov dword [esp + 4], ebx
call fcn.0045a5e0
mov edx, dword [esp + 0xf0]
movzx ebx, byte [esp + 8]
cmp bl, 0
jne 0x45aa16
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0xf0], edx
cmp eax, edx
jl 0x45a9ad
mov eax, dword [esp + 0x64]
xor ebx, ebx
mov ecx, 0x24
movzx ebp, byte [eax + 0xc]
mov ebx, ebp
and ebx, 1
cmp bl, 0
je 0x45aa42
add ecx, 0x10
movzx ebp, word [eax + 0x22]
mov ebx, ebp
and ebx, 0x7fff
mov edi, ebx
mov esi, eax
add esi, ecx
movzx ebp, word [eax + 0x20]
mov ecx, ebp
movzx ebp, word [eax + 0x20]
mov ebx, ebp
add ebx, edi
mov edx, ebx
movzx ebx, cx
mov eax, ebx
movzx ebx, dx
cmp ebx, 0x100000
ja 0x45ac5d
cmp eax, ebx
ja 0x45ac5d
mov edx, ebx
sub edx, eax
mov ecx, 0x100000
sub ecx, eax
mov ebx, esi
cmp esi, 0
je 0x45ac56
cmp ecx, 0
je 0x45aaa2
mov ebp, eax
imul ebp, ebp, 4
add ebx, ebp
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], edx
mov edi, ecx
mov eax, dword [esp + 0x60]
xor ebx, ebx
mov ecx, 0x24
movzx ebp, byte [eax + 0xc]
mov ebx, ebp
and ebx, 1
cmp bl, 0
je 0x45aace
add ecx, 0x10
movzx ebp, word [eax + 0x22]
mov ebx, ebp
and ebx, 0x7fff
mov esi, ebx
mov edx, eax
add edx, ecx
movzx ebp, word [eax + 0x20]
mov ecx, ebp
movzx ebp, word [eax + 0x20]
mov ebx, ebp
add ebx, esi
mov ebp, ebx
movzx ebx, cx
mov eax, ebx
movzx ebx, bp
cmp ebx, 0x100000
ja 0x45ac4f
cmp eax, ebx
ja 0x45ac4f
mov esi, ebx
sub esi, eax
mov ecx, 0x100000
sub ecx, eax
mov ebx, edx
cmp edx, 0
je 0x45ac48
cmp ecx, 0
je 0x45ab2e
mov ebp, eax
imul ebp, ebp, 4
add ebx, ebp
mov ebp, ebx
mov edx, esi
mov eax, ecx
mov esi, dword [esp + 0xb0]
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0x108], ebx
mov dword [esp + 0xb8], edi
mov dword [esp + 0x98], ebp
mov dword [esp + 0x9c], edx
mov ecx, edx
mov dword [esp + 0xa0], eax
mov dword [esp + 0x104], esi
mov dword [esp + 0xe0], esi
mov edx, dword [esp + 0x108]
mov dword [esp + 0x10c], edi
mov dword [esp + 0xe8], edi
mov dword [esp + 0xf8], ebp
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xfc], ecx
mov dword [esp + 0xcc], ecx
mov dword [esp + 0x100], eax
mov dword [esp + 0xd0], eax
xor eax, eax
cmp eax, edx
jge 0x45ac2b
mov ebx, eax
mov dword [esp + 0xe4], edx
cmp eax, edx
jae 0x45ac41
mov ebp, dword [esp + 0xe0]
shl ebx, 2
add ebp, ebx
mov ebx, dword [ebp]
mov dword [esp], ebx
mov dword [esp + 0x18], eax
mov ebx, eax
mov ebp, dword [esp + 0xcc]
cmp eax, ebp
jae 0x45ac3a
mov ebp, dword [esp + 0xc8]
shl ebx, 2
add ebp, ebx
mov ebx, dword [ebp]
mov dword [esp + 4], ebx
call fcn.0045a5e0
mov edx, dword [esp + 0xe4]
movzx ebx, byte [esp + 8]
cmp bl, 0
jne 0x45ac22
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
mov eax, dword [esp + 0x18]
inc eax
cmp eax, edx
jl 0x45abba
mov byte [esp + 0x11c], 1
add esp, 0x110
ret
call fcn.00435970
ud2
call fcn.00435970
ud2
mov dword [edx], eax
jmp 0x45ab22
call fcn.004359e0
ud2
mov dword [esi], eax
jmp 0x45aa96
call fcn.004359e0
ud2
call fcn.00435970
ud2
call fcn.00435970
ud2
mov dword [edx], eax
jmp 0x45a91b
call fcn.004359e0
ud2
mov dword [edx], eax
jmp 0x45a8d2
call fcn.004359e0
ud2
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
xchg edi, eax
cmp al, 0x14
xchg edi, eax
jne 0x45b001
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], ecx
mov eax, ecx
cmp ecx, 0
je 0x45affa
add eax, 0x20
cld
mov ecx, dword [eax]
mov dword [esp], ecx
call fcn.00459c60
mov ebx, dword [esp + 4]
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x8c], ebx
mov eax, dword [esp + 0x58]
cmp eax, 0
je 0x45aff3
add eax, 0x20
cld
mov ecx, dword [eax]
mov dword [esp], ecx
call fcn.00459c60
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 4]
mov edx, dword [esp + 8]
cmp esi, edx
jne 0x45afe4
mov ebp, dword [esp + 0x88]
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 0x90], edi
mov dword [esp + 8], edi
mov dword [esp + 0x94], edx
mov dword [esp + 0xc], edx
call fcn.004633f0
mov edx, dword [esp + 0x5c]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x45afe4
mov ecx, dword [edx + 0x28]
mov ebx, dword [esp + 0x58]
mov ebp, dword [ebx + 0x28]
cmp ecx, ebp
je 0x45ad69
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
xor eax, eax
mov ebp, dword [edx + 0x28]
mov dword [esp + 0x20], ebp
mov ebp, dword [esp + 0x20]
cmp eax, ebp
jge 0x45af80
mov dword [esp + 0x24], eax
mov ebp, eax
mov esi, dword [edx + 0x28]
cmp eax, esi
jae 0x45afdd
mov ecx, dword [edx + 0x24]
shl ebp, 3
add ecx, ebp
mov ebx, dword [esp + 0x58]
mov ebp, eax
mov esi, dword [ebx + 0x28]
cmp eax, esi
jae 0x45afd6
mov esi, dword [ebx + 0x24]
shl ebp, 3
add esi, ebp
mov dword [esp + 0x2c], esi
mov dword [esp], edx
cmp dword [esp], 0
je 0x45afcb
mov dword [esp + 0x40], ecx
mov ebp, dword [ecx]
mov dword [esp + 4], ebp
call fcn.004594d0
mov ebx, dword [esp + 8]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp], ebx
cmp dword [esp], 0
je 0x45afc0
mov ebx, dword [esp + 0x2c]
mov ebp, dword [ebx]
mov dword [esp + 4], ebp
call fcn.004594d0
mov ebx, dword [esp + 8]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x3c]
mov dword [esp], ebx
call fcn.00459c60
mov ebx, dword [esp + 4]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp], ebx
call fcn.00459c60
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 4]
mov edx, dword [esp + 8]
cmp edi, edx
jne 0x45afb1
mov ebp, dword [esp + 0x90]
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 0x88], esi
mov dword [esp + 8], esi
mov dword [esp + 0x8c], edx
mov dword [esp + 0xc], edx
call fcn.004633f0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x45afb1
mov ebx, dword [esp + 0x3c]
mov dword [esp], ebx
call fcn.00459e40
mov ebx, dword [esp + 4]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp], ebx
call fcn.00459e40
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 4]
mov edx, dword [esp + 8]
cmp edi, edx
jne 0x45afa2
mov ebp, dword [esp + 0x90]
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 0x88], esi
mov dword [esp + 8], esi
mov dword [esp + 0x8c], edx
mov dword [esp + 0xc], edx
call fcn.004633f0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x45afa2
mov ebx, dword [esp + 0x5c]
mov dword [esp], ebx
cmp dword [esp], 0
je 0x45af97
mov ebx, dword [esp + 0x40]
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
call fcn.00459520
mov ebx, dword [esp + 8]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp], ebx
cmp dword [esp], 0
je 0x45af8f
mov ebx, dword [esp + 0x2c]
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
call fcn.00459520
mov eax, dword [esp + 8]
mov ebx, dword [esp + 0x6c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0045a5e0
mov edx, dword [esp + 0x5c]
movzx ebx, byte [esp + 8]
cmp bl, 0
jne 0x45af6f
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
mov eax, dword [esp + 0x24]
inc eax
mov ebp, dword [esp + 0x20]
cmp eax, ebp
jl 0x45ad7e
mov byte [esp + 0x11c], 1
add esp, 0x110
ret
mov dword [0], eax
jmp 0x45af2e
mov dword [0], eax
jmp 0x45af09
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
mov dword [0], eax
jmp 0x45ade9
mov dword [0], eax
jmp 0x45adc1
call fcn.00435970
ud2
call fcn.00435970
ud2
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
mov dword [eax], eax
jmp 0x45acec
mov dword [ecx], eax
jmp 0x45acbb
xchg edi, eax
cmp al, 0x15
xchg edi, eax
jne 0x45a7ee
mov dword [esp + 0x54], ecx
mov ebp, dword [ecx + 0x20]
mov dword [esp], ebp
mov dword [esp + 0x50], edx
mov ebp, dword [edx + 0x20]
mov dword [esp + 4], ebp
call fcn.0045a5e0
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x45b063
mov ebx, dword [esp + 0x54]
mov ebp, dword [ebx + 0x24]
mov dword [esp], ebp
mov ebx, dword [esp + 0x50]
mov ebp, dword [ebx + 0x24]
mov dword [esp + 4], ebp
call fcn.0045a5e0
movzx ebx, byte [esp + 8]
cmp bl, 0
je 0x45b063
mov byte [esp + 0x11c], 1
add esp, 0x110
ret
mov byte [esp + 0x11c], 0
jmp 0x45b05c
xchg edi, eax
cmp al, 0x17
xchg edi, eax
ja 0x45b0d0
xchg edi, eax
cmp al, 0x16
xchg edi, eax
jne 0x45b0a0
mov ebp, dword [ecx + 0x20]
mov dword [esp], ebp
mov ebp, dword [edx + 0x20]
mov dword [esp + 4], ebp
call fcn.0045a5e0
movzx ebx, byte [esp + 8]
mov byte [esp + 0x11c], bl
add esp, 0x110
ret
xchg edi, eax
cmp al, 0x17
xchg edi, eax
jne 0x45a7ee
mov ebp, dword [ecx + 0x20]
mov dword [esp], ebp
mov ebp, dword [edx + 0x20]
mov dword [esp + 4], ebp
call fcn.0045a5e0
movzx ebx, byte [esp + 8]
mov byte [esp + 0x11c], bl
add esp, 0x110
ret
xchg edi, eax
cmp al, 0x18
xchg edi, eax
jne 0x45b0e6
mov byte [esp + 0x11c], 1
add esp, 0x110
ret
xchg edi, eax
cmp al, 0x19
xchg edi, eax
jne 0x45b39a
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x48], edx
mov ebx, dword [esp + 0x4c]
mov eax, dword [ebx + 0x28]
mov ebx, dword [esp + 0x48]
mov ebp, dword [ebx + 0x28]
cmp eax, ebp
je 0x45b11a
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
xor eax, eax
mov ebx, dword [esp + 0x4c]
mov ebp, dword [ebx + 0x28]
mov dword [esp + 0x24], ebp
mov ebp, dword [esp + 0x24]
cmp eax, ebp
jge 0x45b350
mov dword [esp + 0x20], eax
mov ebx, dword [esp + 0x4c]
mov ebp, eax
mov esi, dword [ebx + 0x28]
cmp eax, esi
jae 0x45b393
mov ecx, dword [ebx + 0x24]
imul ebp, ebp, 0xc
add ecx, ebp
mov ebx, dword [esp + 0x48]
mov ebp, eax
mov esi, dword [ebx + 0x28]
cmp eax, esi
jae 0x45b38c
mov esi, dword [ebx + 0x24]
imul ebp, ebp, 0xc
add esi, ebp
mov dword [esp + 0x30], esi
mov dword [esp + 0x44], ecx
cld
mov ecx, dword [ecx]
mov dword [esp], ecx
call fcn.00459c60
mov ebx, dword [esp + 4]
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0x30]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
call fcn.00459c60
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 4]
mov edx, dword [esp + 8]
cmp esi, edx
jne 0x45b37d
mov ebp, dword [esp + 0x88]
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 0x90], edi
mov dword [esp + 8], edi
mov dword [esp + 0x94], edx
mov dword [esp + 0xc], edx
call fcn.004633f0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x45b37d
mov ebx, dword [esp + 0x44]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
call fcn.00459e40
mov ebx, dword [esp + 4]
mov dword [esp + 0x90], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x94], ebx
mov ebx, dword [esp + 0x30]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
call fcn.00459e40
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 4]
mov edx, dword [esp + 8]
cmp edi, edx
jne 0x45b36e
mov ebp, dword [esp + 0x90]
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 0x88], esi
mov dword [esp + 8], esi
mov dword [esp + 0x8c], edx
mov dword [esp + 0xc], edx
call fcn.004633f0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x45b36e
mov ebx, dword [esp + 0x44]
mov ebp, dword [ebx + 4]
mov dword [esp], ebp
mov ebx, dword [esp + 0x30]
mov ebp, dword [ebx + 4]
mov dword [esp + 4], ebp
call fcn.0045a5e0
movzx ebx, byte [esp + 8]
cmp bl, 0
jne 0x45b2a4
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
mov ebx, dword [esp + 0x44]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
call fcn.00459d50
mov ebx, dword [esp + 4]
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0x30]
cld
mov ecx, dword [ebx]
mov dword [esp], ecx
call fcn.00459d50
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 4]
mov edx, dword [esp + 8]
cmp esi, edx
jne 0x45b35f
mov ebp, dword [esp + 0x88]
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 0x90], edi
mov dword [esp + 8], edi
mov dword [esp + 0x94], edx
mov dword [esp + 0xc], edx
call fcn.004633f0
movzx ebx, byte [esp + 0x10]
cmp bl, 0
je 0x45b35f
mov ebx, dword [esp + 0x44]
mov eax, dword [ebx + 8]
mov ebx, dword [esp + 0x30]
mov ebp, dword [ebx + 8]
cmp eax, ebp
je 0x45b33f
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
mov eax, dword [esp + 0x20]
inc eax
mov ebp, dword [esp + 0x24]
cmp eax, ebp
jl 0x45b133
mov byte [esp + 0x11c], 1
add esp, 0x110
ret
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
call fcn.00435970
ud2
call fcn.00435970
ud2
xchg edi, eax
cmp al, 0x1a
xchg edi, eax
je 0x45b0d7
jmp 0x45a7ee
xor ebp, ebp
cmp esi, ebp
je 0x45b485
mov dword [esp + 0x34], eax
xor ebp, ebp
cmp eax, ebp
je 0x45b485
mov dword [esp], ecx
mov ebp, dword [esi]
mov dword [esp + 4], ebp
call fcn.004594d0
mov eax, dword [esp + 8]
mov dword [esp + 0x70], eax
mov dword [esp], eax
call fcn.00459c60
mov ebx, dword [esp + 4]
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 8]
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x118]
mov dword [esp], ebx
mov ebx, dword [esp + 0x34]
mov ebp, dword [ebx]
mov dword [esp + 4], ebp
call fcn.004594d0
mov eax, dword [esp + 8]
mov dword [esp + 0x70], eax
mov dword [esp], eax
call fcn.00459c60
mov edi, dword [esp + 0x84]
mov esi, dword [esp + 4]
mov eax, dword [esp + 8]
cmp edi, eax
jne 0x45b476
mov ebp, dword [esp + 0x80]
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 0x78], esi
mov dword [esp + 8], esi
mov dword [esp + 0x7c], eax
mov dword [esp + 0xc], eax
call fcn.004633f0
movzx edi, byte [esp + 0x17]
mov edx, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
movzx ebx, byte [esp + 0x10]
cmp bl, 0
jne 0x45a71f
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
mov byte [esp + 0x11c], 0
add esp, 0x110
ret
call fcn.004616d0
jmp fcn.0045a5e0