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

Disassembly:
sub esp, 0xa4
push ebx
mov ebx, dword [esp + 0xb0]
add eax, edx
push ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0xb8]
push esi
mov esi, dword [esp + 0xb4]
mov ebp, dword [esi + 0x7370]
push edi
mov edi, dword [esi + 0x72b0]
add eax, ebx
mov dword [esp + 0x70], edi
mov edi, dword [esi + 0x72b4]
mov dword [esp + 0x20], eax
mov eax, dword [esi + 0x7380]
add eax, ebp
mov dword [esp + 0x88], edi
mov edi, dword [esi + 0x72b8]
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x6c], eax
mov dword [esp + 0x7c], edi
test ecx, ecx
je 0x45e39d
mov edi, dword [esp + 0x10]
mov dword [esi + 0x7304], 1
mov ecx, dword [esi + 0x682c]
mov eax, dword [esi + 0x6830]
mov dword [esp + 0x50], ecx
mov ecx, dword [esi + 0x6834]
mov dword [esp + 0x58], ecx
sub edi, edx
lea ecx, [esp + 0x24]
mov dword [esp + 0x54], eax
call fcn.0045fef0
cmp eax, 0xffffff88
jbe 0x45dc91
mov eax, 0xffffffec
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
mov eax, dword [esp + 0x28]
mov edi, dword [esi]
mov edx, dword [edi + 4]
lea ebx, [edx + eax]
mov eax, dword [esp + 0x24]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], ebx
and eax, dword [edx*4 + 0x6b3e10]
mov dword [esp + 0x38], eax
call fcn.0045cef0
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
add edi, 8
mov dword [esp + 0x3c], edi
mov edi, dword [esi + 8]
mov edx, dword [edi + 4]
lea ebx, [edx + ecx]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], ebx
and eax, dword [edx*4 + 0x6b3e10]
mov dword [esp + 0x40], eax
call fcn.0045cef0
mov eax, dword [esp + 0x28]
mov esi, dword [esi + 4]
mov edx, dword [esi + 4]
add edi, 8
mov dword [esp + 0x44], edi
lea edi, [edx + eax]
mov eax, dword [esp + 0x24]
mov ecx, edi
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], edi
and eax, dword [edx*4 + 0x6b3e10]
mov dword [esp + 0x48], eax
call fcn.0045cef0
lea eax, [esi + 8]
mov dword [esp + 0x4c], eax
jmp 0x45dd40
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov esi, dword [ecx + edx*8]
mov ecx, dword [ecx + edx*8 + 4]
mov dword [esp + 0x78], ecx
mov ecx, dword [esp + 0x48]
mov edx, dword [eax + ecx*8 + 4]
mov ebp, dword [eax + ecx*8]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x84], edx
mov edx, dword [esp + 0x40]
mov eax, dword [ecx + edx*8]
mov edx, dword [ecx + edx*8 + 4]
mov dword [esp + 0xac], eax
mov ecx, esi
mov ebx, ebp
shr ecx, 0x10
shr eax, 0x10
shr ebx, 0x10
mov dword [esp + 0x74], esi
mov dword [esp + 0x80], ebp
mov byte [esp + 0x1b], cl
cmp al, 1
jbe 0x45de54
cmp dword [esp + 0xc4], 0
je 0x45de16
cmp al, 0x19
jb 0x45de16
mov edi, dword [esp + 0x28]
mov ecx, 0x20
movzx eax, al
sub ecx, edi
cmp eax, ecx
jae 0x45ddc1
mov ecx, eax
mov ebp, dword [esp + 0x24]
mov esi, eax
sub esi, ecx
mov ecx, edi
and ecx, 0x1f
shl ebp, cl
sub eax, esi
mov ecx, eax
neg ecx
and ecx, 0x1f
shr ebp, cl
mov ecx, esi
add edi, eax
mov dword [esp + 0x28], edi
shl ebp, cl
lea ecx, [esp + 0x24]
add ebp, edx
call fcn.0045cef0
test esi, esi
je 0x45de42
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, edx
and ecx, 0x1f
shl eax, cl
mov ecx, esi
neg ecx
and ecx, 0x1f
shr eax, cl
add edx, esi
mov dword [esp + 0x28], edx
add ebp, eax
jmp 0x45de42
mov esi, dword [esp + 0x28]
mov ebp, dword [esp + 0x24]
movzx eax, al
mov ecx, esi
and ecx, 0x1f
shl ebp, cl
mov ecx, eax
neg ecx
and ecx, 0x1f
shr ebp, cl
add esi, eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], esi
add ebp, edx
call fcn.0045cef0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x58], eax
mov dword [esp + 0x54], ecx
jmp 0x45dec0
xor ecx, ecx
cmp dword [esp + 0x78], ecx
sete cl
mov esi, ecx
test al, al
jne 0x45de7b
test esi, esi
jne 0x45de6d
mov ebp, dword [esp + 0x50]
jmp 0x45dec4
mov edx, dword [esp + 0x50]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x54], edx
jmp 0x45dec0
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, edi
and ecx, 0x1f
shl eax, cl
inc edi
mov dword [esp + 0x28], edi
shr eax, 0x1f
add eax, esi
mov esi, dword [esp + 0x50]
add eax, edx
lea ebp, [esi - 1]
cmp eax, 3
je 0x45dea6
mov ebp, dword [esp + eax*4 + 0x50]
xor ecx, ecx
test ebp, ebp
sete cl
add ebp, ecx
cmp eax, 1
je 0x45debc
mov edx, dword [esp + 0x54]
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], esi
mov dword [esp + 0x50], ebp
mov edi, dword [esp + 0x84]
test bl, bl
jbe 0x45def5
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, esi
and ecx, 0x1f
shl eax, cl
movzx edx, bl
mov ecx, edx
neg ecx
and ecx, 0x1f
shr eax, cl
add esi, edx
mov ecx, edi
mov dword [esp + 0x28], esi
lea edi, [eax + ecx]
movzx eax, byte [esp + 0x1b]
movzx edx, bl
add edx, eax
cmp edx, 0x14
mov dword [esp + 0x10], eax
jl 0x45df11
lea ecx, [esp + 0x24]
call fcn.0045cef0
cmp byte [esp + 0x1b], 0
mov edx, dword [esp + 0x78]
mov esi, edx
jbe 0x45df42
mov ebx, dword [esp + 0x28]
mov esi, dword [esp + 0x24]
mov eax, dword [esp + 0x10]
mov ecx, ebx
and ecx, 0x1f
shl esi, cl
mov ecx, eax
neg ecx
and ecx, 0x1f
shr esi, cl
add ebx, eax
mov dword [esp + 0x28], ebx
add esi, edx
lea ecx, [esp + 0x24]
call fcn.0045cef0
movzx ebx, byte [esp + 0x77]
mov eax, dword [esp + 0x28]
lea ecx, [ebx + eax]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], ecx
neg ecx
and ecx, 0x1f
mov edx, eax
shr edx, cl
movzx ecx, word [esp + 0x74]
and edx, dword [ebx*4 + 0x6b3e10]
add ecx, edx
movzx edx, byte [esp + 0x83]
mov dword [esp + 0x38], ecx
mov ecx, dword [esp + 0x10]
lea ebx, [edx + ecx]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
lea ecx, [esp + 0x24]
mov dword [esp + 0x28], ebx
and eax, dword [edx*4 + 0x6b3e10]
movzx edx, word [esp + 0x80]
add edx, eax
mov dword [esp + 0x48], edx
call fcn.0045cef0
movzx edx, byte [esp + 0xaf]
mov eax, dword [esp + 0x28]
lea ebx, [edx + eax]
mov eax, dword [esp + 0x24]
mov ecx, ebx
neg ecx
and ecx, 0x1f
shr eax, cl
movzx ecx, word [esp + 0xac]
and eax, dword [edx*4 + 0x6b3e10]
mov edx, dword [esp + 0xa0]
add ecx, eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x28], ebx
lea ebx, [esi + eax]
lea ecx, [esi + edi]
mov dword [esp + 0xa0], edx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x10], ecx
lea ecx, [esi + edx]
mov eax, ebx
sub eax, ebp
mov dword [esp + 0x94], esi
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa8], ecx
cmp ecx, dword [esp + 0x6c]
ja 0x45e2e3
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add ecx, edx
mov edx, dword [esp + 0x20]
add edx, 0xffffffe0
cmp ecx, edx
ja 0x45e2e3
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x10]
sub ecx, dword [esp + 0x1c]
add edx, 0x20
cmp ecx, edx
jb 0x45e2e3
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx]
mov ecx, dword [esp + 0x1c]
mov dword [ecx], edx
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 4]
mov dword [ecx + 4], edx
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 8]
mov dword [ecx + 8], edx
mov edx, dword [esp + 0x14]
mov edx, dword [edx + 0xc]
mov dword [ecx + 0xc], edx
cmp esi, 0x10
jbe 0x45e11f
mov edx, dword [esp + 0x14]
add esi, 0xfffffff0
add ecx, 0x10
mov dword [esp + 0x90], esi
add esi, ecx
add edx, 0x10
cmp dword [esp + 0x90], 0x10
mov dword [esp + 0x14], esi
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov esi, dword [edx + 0xc]
mov dword [ecx + 0xc], esi
jle 0x45e11f
add ecx, 0x10
add edx, 0x10
lea esp, [esp]
mov esi, dword [edx]
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov esi, dword [edx + 0xc]
mov dword [ecx + 0xc], esi
mov esi, dword [edx + 0x10]
add edx, 0x10
add ecx, 0x10
mov dword [ecx], esi
mov esi, dword [edx + 4]
mov dword [ecx + 4], esi
mov esi, dword [edx + 8]
mov dword [ecx + 8], esi
mov esi, dword [edx + 0xc]
mov dword [ecx + 0xc], esi
add ecx, 0x10
add edx, 0x10
cmp ecx, dword [esp + 0x14]
jb 0x45e0e0
mov esi, dword [esp + 0x70]
mov ecx, dword [esp + 0xa8]
mov edx, ebx
sub edx, esi
mov dword [esp + 0x14], ecx
cmp ebp, edx
jbe 0x45e187
mov ecx, ebx
sub ecx, dword [esp + 0x88]
cmp ebp, ecx
jbe 0x45e14d
mov esi, 0xffffffec
jmp 0x45e328
mov ebp, dword [esp + 0x7c]
mov edx, ebp
sub edx, esi
add eax, edx
lea ecx, [eax + edi]
cmp ecx, ebp
ja 0x45e172
push edi
push eax
push ebx
call fcn.005e6c50
mov esi, dword [esp + 0x1c]
add esp, 0xc
jmp 0x45e328
sub ebp, eax
push ebp
push eax
push ebx
call fcn.005e6c50
add esp, 0xc
add ebx, ebp
sub edi, ebp
mov eax, esi
jmp 0x45e18e
mov edi, dword [esp + 0x98]
mov esi, dword [esp + 0x9c]
cmp esi, 0x10
jb 0x45e206
cmp edi, 0x10
mov ecx, dword [eax]
mov dword [ebx], ecx
mov ecx, dword [eax + 4]
mov dword [ebx + 4], ecx
mov ecx, dword [eax + 8]
mov dword [ebx + 8], ecx
mov ecx, dword [eax + 0xc]
lea edx, [edi + ebx]
mov dword [ebx + 0xc], ecx
jle 0x45e1fd
lea ecx, [ebx + 0x10]
add eax, 0x10
mov edi, edi
mov esi, dword [eax]
mov dword [ecx], esi
mov esi, dword [eax + 4]
mov dword [ecx + 4], esi
mov esi, dword [eax + 8]
mov dword [ecx + 8], esi
mov esi, dword [eax + 0xc]
mov dword [ecx + 0xc], esi
mov esi, dword [eax + 0x10]
add eax, 0x10
add ecx, 0x10
mov dword [ecx], esi
mov esi, dword [eax + 4]
mov dword [ecx + 4], esi
mov esi, dword [eax + 8]
mov dword [ecx + 8], esi
mov esi, dword [eax + 0xc]
mov dword [ecx + 0xc], esi
add ecx, 0x10
add eax, 0x10
cmp ecx, edx
jb 0x45e1c0
mov esi, dword [esp + 0x10]
jmp 0x45e328
cmp esi, 8
jae 0x45e239
movzx edx, byte [eax]
mov ebp, dword [esi*4 + 0x6b48b0]
mov byte [ebx], dl
movzx ecx, byte [eax + 1]
mov byte [ebx + 1], cl
movzx edx, byte [eax + 2]
mov byte [ebx + 2], dl
movzx ecx, byte [eax + 3]
mov byte [ebx + 3], cl
add eax, dword [esi*4 + 0x6b4890]
mov edx, dword [eax]
sub eax, ebp
jmp 0x45e240
mov ecx, dword [eax]
mov dword [ebx], ecx
mov edx, dword [eax + 4]
mov dword [ebx + 4], edx
cmp edi, 8
jbe 0x45e2dd
lea ecx, [eax + 8]
lea edx, [edi - 8]
lea eax, [ebx + 8]
mov edi, eax
sub edi, ecx
cmp edi, 0x10
lea esi, [eax + edx]
jge 0x45e27f
sub ecx, eax
mov edx, dword [eax + ecx]
mov dword [eax], edx
mov edx, dword [eax + ecx + 4]
mov dword [eax + 4], edx
add eax, 8
cmp eax, esi
jb 0x45e263
mov esi, dword [esp + 0x10]
jmp 0x45e328
cmp edx, 0x10
mov edi, dword [ecx]
mov dword [eax], edi
mov edi, dword [ecx + 4]
mov dword [eax + 4], edi
mov edi, dword [ecx + 8]
mov dword [eax + 8], edi
mov edi, dword [ecx + 0xc]
mov dword [eax + 0xc], edi
jle 0x45e2dd
add eax, 0x10
add ecx, 0x10
mov edx, dword [ecx]
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
mov edx, dword [ecx + 0x10]
add ecx, 0x10
add eax, 0x10
mov dword [eax], edx
mov edx, dword [ecx + 4]
mov dword [eax + 4], edx
mov edx, dword [ecx + 8]
mov dword [eax + 8], edx
mov edx, dword [ecx + 0xc]
mov dword [eax + 0xc], edx
add eax, 0x10
add ecx, 0x10
cmp eax, esi
jb 0x45e2a0
mov esi, dword [esp + 0x10]
jmp 0x45e328
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x70]
push eax
mov eax, dword [esp + 0x70]
push ecx
push edx
mov edx, dword [esp + 0xac]
push eax
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [esp + 0x34]
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], edi
mov dword [eax + 8], ebp
mov dword [eax + 0xc], edx
mov eax, dword [esp + 0x40]
call fcn.0045dad0
add esp, 0x24
mov esi, eax
lea ecx, [esp + 0x24]
call fcn.0045cef0
add dword [esp + 0x1c], esi
cmp esi, 0xffffff88
ja 0x45e34d
sub dword [esp + 0x8c], 1
je 0x45e35a
mov eax, dword [esp + 0x4c]
jmp 0x45dd40
mov eax, esi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
lea ecx, [esp + 0x24]
call fcn.0045cef0
cmp eax, 2
jl 0x45dc81
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov dword [eax + 0x682c], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x6830], edx
mov dword [eax + 0x6834], ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x20]
sub eax, ebp
mov esi, eax
sub ecx, ebx
cmp esi, ecx
jbe 0x45e3bb
mov eax, 0xffffffba
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
test ebx, ebx
je 0x45e3cc
push esi
push ebp
push ebx
call fcn.005e5310
add esp, 0xc
add ebx, esi
sub ebx, dword [esp + 0xbc]
pop edi
pop esi
pop ebp
mov eax, ebx
pop ebx
add esp, 0xa4
ret