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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x45eafd
sub esp, 0x68
mov eax, 0
mov dword [esp + 0x58], eax
mov dword [esp + 0x5c], eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
cmp eax, ecx
je 0x45ea41
movzx edx, byte [eax + 0xf]
and edx, 0x1f
movzx ebx, byte [ecx + 0xf]
and ebx, 0x1f
cmp edx, ebx
jne 0x45ea38
lea ebx, [edx - 1]
cmp ebx, 0xf
jbe 0x45ea2f
cmp edx, 0x18
je 0x45ea2f
cmp edx, 0x1a
je 0x45ea2f
cmp edx, 0x13
ja 0x45e62a
cmp edx, 0x11
je 0x45e5be
cmp edx, 0x12
je 0x45e4b6
cmp edx, 0x13
jne 0x45e4ad
movzx edx, word [eax + 0x22]
movzx ebx, word [ecx + 0x22]
cmp dx, bx
jne 0x45e4a4
movzx edx, word [eax + 0x20]
movzx ebx, word [ecx + 0x20]
cmp bx, dx
jne 0x45e4a4
xor edx, edx
jmp 0x45e27f
mov ebx, dword [esp + 0x1c]
lea edx, [ebx + 1]
mov ebx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
mov eax, ebx
mov ecx, ebp
movzx ebx, byte [eax + 0xf]
and ebx, 0x1f
cmp ebx, 0x13
jne 0x45eaaf
movzx ebx, word [eax + 0x20]
movzx ebp, bx
cmp edx, ebp
jge 0x45e3b1
movzx esi, byte [eax + 0xc]
xchg esi, eax
test al, 1
xchg esi, eax
je 0x45e3a7
mov esi, 0x34
test bx, bx
jne 0x45e391
xor ebx, ebx
xor ebp, ebp
cmp edx, ebp
jae 0x45eaa1
mov ebx, dword [ebx + edx*4]
test ebx, ebx
je 0x45e388
lea ebp, [0x4e4d40]
movzx esi, byte [ecx + 0xf]
and esi, 0x1f
cmp esi, 0x13
jne 0x45ea87
movzx esi, byte [ecx + 0xc]
xchg esi, eax
test al, 1
xchg esi, eax
je 0x45e37e
mov esi, 0x34
movzx edi, word [ecx + 0x20]
test di, di
jne 0x45e35b
xor esi, esi
xor edi, edi
cmp edx, esi
jae 0x45ea79
mov dword [esp + 0x1c], edx
mov esi, dword [edi + edx*4]
test esi, esi
je 0x45e355
lea edi, [0x4e4d40]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.0045e070
movzx eax, byte [esp + 0x14]
test al, al
jne 0x45e26c
mov byte [esp + 0x78], 0
add esp, 0x68
ret
xor esi, esi
xor edi, edi
jmp 0x45e322
add esi, ecx
test byte [esi], al
movzx edi, di
cmp edi, 0x100000
ja 0x45ea80
mov dword [esp + 0x34], eax
mov eax, esi
mov esi, edi
mov edi, eax
mov eax, dword [esp + 0x34]
jmp 0x45e309
mov esi, 0x24
jmp 0x45e2fc
xor ebx, ebx
xor ebp, ebp
jmp 0x45e2d8
lea ebx, [esi + eax]
test byte [ebx], al
cmp ebp, 0x100000
jbe 0x45e2bf
jmp 0x45eaa8
mov esi, 0x24
jmp 0x45e2b2
xor edx, edx
jmp 0x45e3c6
mov ebx, dword [esp + 0x20]
lea edx, [ebx + 1]
mov ebx, dword [esp + 0x6c]
mov eax, ebx
mov ecx, dword [esp + 0x70]
movzx ebx, byte [eax + 0xf]
and ebx, 0x1f
cmp ebx, 0x13
jne 0x45ea5f
movzx ebx, byte [eax + 0xc]
test bl, 1
je 0x45e49a
mov ebx, 0x34
movzx ebp, word [eax + 0x22]
test bp, 0x7fff
jne 0x45e469
xor ebx, ebx
cmp edx, ebx
jge 0x45e460
mov dword [esp + 0x20], edx
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.0045c020
mov eax, dword [esp + 8]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
mov ebx, dword [esp + 0x20]
mov dword [esp + 4], ebx
call fcn.0045c020
mov eax, dword [esp + 0x30]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.0045e070
movzx eax, byte [esp + 0x14]
test al, al
jne 0x45e3b5
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 1
add esp, 0x68
ret
add ebx, eax
test byte [ebx], al
and ebp, 0x7fff
movzx ebx, word [eax + 0x20]
movzx esi, bx
add ebx, ebp
movzx ebx, bx
cmp esi, ebx
ja 0x45ea58
cmp ebx, 0x100000
ja 0x45ea58
sub ebx, esi
jmp 0x45e3f5
mov ebx, 0x24
jmp 0x45e3e8
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov edx, dword [ecx + 0x24]
cmp edx, 3
je 0x45e54e
movzx edx, byte [ecx + 0xf]
and edx, 0x1f
cmp edx, 0x12
jne 0x45eae3
mov edx, dword [ecx + 0x24]
movzx ebx, byte [eax + 0xf]
and ebx, 0x1f
cmp ebx, 0x12
jne 0x45eac9
mov ebx, dword [eax + 0x24]
cmp edx, ebx
je 0x45e4f6
xor eax, eax
mov byte [esp + 0x78], al
add esp, 0x68
ret
mov dword [esp], eax
call fcn.0045b930
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
call fcn.0045b930
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x30]
mov dword [esp], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.0045e070
movzx eax, byte [esp + 0x14]
jmp 0x45e4ee
mov dword [esp], eax
call fcn.0045b930
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
call fcn.0045b930
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x30]
mov dword [esp], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.0045e070
movzx eax, byte [esp + 0x14]
test al, al
jne 0x45e5b5
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x70]
jmp 0x45e4c2
mov byte [esp + 0x78], 1
add esp, 0x68
ret
mov edx, dword [eax + 0x28]
mov ebx, dword [ecx + 0x28]
cmp edx, ebx
je 0x45e5d2
xor eax, eax
mov byte [esp + 0x78], al
add esp, 0x68
ret
mov dword [esp], eax
call fcn.0045b930
mov eax, dword [esp + 4]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
call fcn.0045b930
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x30]
mov dword [esp], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.0045e070
movzx eax, byte [esp + 0x14]
jmp 0x45e5ca
cmp edx, 0x15
jbe 0x45e94a
lea ebx, [edx - 0x16]
cmp ebx, 1
jbe 0x45e8ec
cmp edx, 0x19
jne 0x45e4ad
mov edx, dword [eax + 0x28]
mov ebx, dword [ecx + 0x28]
cmp edx, ebx
jne 0x45e8e3
mov edx, dword [eax + 0x20]
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
test edx, edx
je 0x45e685
lea ebx, [edx + 3]
mov dword [esp + 0x48], ebx
movzx ebx, byte [edx + 1]
shl ebx, 8
movzx edx, byte [edx + 2]
or ebx, edx
mov dword [esp + 0x4c], ebx
mov edx, dword [ecx + 0x20]
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
test edx, edx
je 0x45e6b4
lea ebx, [edx + 3]
mov dword [esp + 0x50], ebx
movzx ebx, byte [edx + 1]
shl ebx, 8
movzx edx, byte [edx + 2]
or ebx, edx
mov dword [esp + 0x54], ebx
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
cmp ebx, ebp
jne 0x45e8da
mov dword [esp], esi
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
call fcn.00402050
movzx eax, byte [esp + 0xc]
test al, al
je 0x45e8da
mov eax, dword [esp + 0x6c]
mov ecx, dword [eax + 0x28]
mov dword [esp + 0x2c], ecx
mov edx, dword [esp + 0x70]
xor ebx, ebx
jmp 0x45e715
mov ebp, dword [esp + 0x18]
lea ebx, [ebp + 1]
mov ebp, dword [esp + 0x2c]
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x6c]
mov eax, edi
mov ecx, ebp
mov edx, esi
cmp ebx, ecx
jge 0x45e8d1
mov ebp, dword [eax + 0x28]
mov esi, dword [eax + 0x24]
cmp ebx, ebp
jae 0x45ea51
lea ebp, [ebx + ebx*2]
mov edi, dword [edx + 0x28]
mov edx, dword [edx + 0x24]
cmp ebx, edi
jae 0x45ea4a
mov edi, dword [esi + ebp*4]
mov dword [esp + 0x58], 0
mov dword [esp + 0x5c], 0
test edi, edi
je 0x45e76b
lea eax, [edi + 3]
mov dword [esp + 0x58], eax
movzx eax, byte [edi + 1]
shl eax, 8
movzx edi, byte [edi + 2]
or edi, eax
mov dword [esp + 0x5c], edi
mov eax, dword [edx + ebp*4]
mov dword [esp + 0x60], 0
mov dword [esp + 0x64], 0
test eax, eax
je 0x45e79a
lea edi, [eax + 3]
mov dword [esp + 0x60], edi
movzx edi, byte [eax + 1]
shl edi, 8
movzx eax, byte [eax + 2]
or edi, eax
mov dword [esp + 0x64], edi
mov dword [esp + 0x18], ebx
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov ebx, dword [esp + 0x64]
cmp ebx, ecx
jne 0x45e8c8
mov dword [esp + 0x28], ebp
mov dword [esp + 0x40], esi
mov dword [esp + 0x3c], edx
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00402050
movzx eax, byte [esp + 0xc]
test al, al
je 0x45e8c8
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + eax*4 + 4]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [ebx + eax*4 + 4]
lea esi, [0x4e4d40]
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
mov dword [esp], esi
mov dword [esp + 4], edx
movzx edx, byte [esp + 0x74]
mov byte [esp + 0x10], dl
call fcn.0045e070
movzx eax, byte [esp + 0x14]
test al, al
je 0x45e8bf
movzx eax, byte [esp + 0x74]
test al, al
jne 0x45e851
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x40]
mov edx, dword [edx + ecx*4 + 8]
mov ebx, dword [esp + 0x3c]
mov ecx, dword [ebx + ecx*4 + 8]
cmp edx, ecx
je 0x45e6fc
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + eax*4]
mov dword [esp], edx
call fcn.0045a420
mov eax, dword [esp + 8]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x44], ecx
mov edx, dword [esp + 0x28]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [ebx + edx*4]
mov dword [esp], ebp
call fcn.0045a420
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x24]
cmp eax, ecx
jne 0x45e8b6
mov eax, dword [esp + 0x44]
mov dword [esp], eax
mov dword [esp + 8], ecx
call fcn.00402050
movzx eax, byte [esp + 0xc]
test al, al
je 0x45e8b6
movzx eax, byte [esp + 0x74]
jmp 0x45e82c
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 1
add esp, 0x68
ret
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov dword [esp], eax
call fcn.0045b930
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
call fcn.0045b930
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x30]
mov dword [esp], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.0045e070
movzx eax, byte [esp + 0x14]
mov byte [esp + 0x78], al
add esp, 0x68
ret
cmp edx, 0x14
jne 0x45e96f
mov eax, dword [eax + 0x28]
test eax, eax
jne 0x45e95d
mov eax, dword [ecx + 0x28]
test eax, eax
je 0x45e966
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 1
add esp, 0x68
ret
mov edx, dword [eax + 0x20]
test edx, edx
je 0x45ea26
lea ebx, [0x4e4d40]
mov ebp, dword [ecx + 0x20]
test ebp, ebp
je 0x45ea1d
lea esi, [0x4e4d40]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebp
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.0045e070
movzx eax, byte [esp + 0x14]
test al, al
jne 0x45e9c1
xor eax, eax
mov byte [esp + 0x78], al
add esp, 0x68
ret
mov eax, dword [esp + 0x6c]
mov dword [esp], eax
call fcn.0045b930
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x70]
mov dword [esp], edx
call fcn.0045b930
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov edx, dword [esp + 0x30]
mov dword [esp], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
movzx eax, byte [esp + 0x74]
mov byte [esp + 0x10], al
call fcn.0045e070
movzx eax, byte [esp + 0x14]
jmp 0x45e9b9
xor ebp, ebp
xor esi, esi
jmp 0x45e991
xor edx, edx
xor ebx, ebx
jmp 0x45e980
mov byte [esp + 0x78], 1
add esp, 0x68
ret
mov byte [esp + 0x78], 0
add esp, 0x68
ret
mov byte [esp + 0x78], 1
add esp, 0x68
ret
call fcn.00423d40
ud2
call fcn.00423d40
ud2
call fcn.00423e40
ud2
lea eax, [0x4b4ee0]
mov dword [esp], eax
lea eax, [0x4e4210]
mov dword [esp + 4], eax
call fcn.00424c20
ud2
call fcn.00423d40
ud2
call fcn.00423e40
ud2
lea eax, [0x4b4ee0]
mov dword [esp], eax
lea eax, [0x4e4208]
mov dword [esp + 4], eax
call fcn.00424c20
ud2
call fcn.00423d40
ud2
call fcn.00423e40
ud2
lea eax, [0x4b4ee0]
mov dword [esp], eax
lea eax, [0x4e4200]
mov dword [esp + 4], eax
call fcn.00424c20
ud2
lea eax, [0x4b4ee0]
mov dword [esp], eax
lea eax, [0x4e41f8]
mov dword [esp + 4], eax
call fcn.00424c20
ud2
lea eax, [0x4b4ee0]
mov dword [esp], eax
lea eax, [0x4e41f0]
mov dword [esp + 4], eax
call fcn.00424c20
ud2
call fcn.00445f00
jmp fcn.0045e1b0