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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x58e12b
mov eax, dword fs:[0]
push eax
sub esp, 0x898
mov eax, dword [0x60aecc]
xor eax, esp
mov dword [esp + 0x890], eax
push ebx
push esi
push edi
mov eax, dword [0x60aecc]
xor eax, esp
push eax
lea eax, [esp + 0x8a8]
mov dword fs:[0], eax
mov esi, dword [ebp + 8]
mov ebx, ecx
mov eax, dword [ebx]
mov edx, dword [eax + 0x2c]
call edx
push eax
lea eax, [esp + 0x60]
push eax
call fcn.00403460
mov ecx, dword [esi]
mov edx, dword [esi + 4]
lea esi, [ebx + 0x990]
mov dword [esp + 0x5c], ecx
mov ecx, dword [esi + 4]
mov dword [esp + 0x60], edx
mov eax, dword [ecx]
mov dword [ecx], ecx
mov ecx, dword [esi + 4]
mov dword [ecx + 4], ecx
add esp, 8
cmp eax, dword [esi + 4]
mov dword [esp + 0x30], esi
mov dword [esi + 8], 0
je 0x430672
lea ebx, [ebx]
mov edi, dword [eax]
push eax
call fcn.0055d39b
add esp, 4
cmp edi, dword [esi + 4]
mov eax, edi
jne 0x430660
mov eax, dword [esp + 0x5c]
cmp eax, dword [esp + 0x54]
jne 0x4306c4
mov ecx, dword [esp + 0x60]
cmp ecx, dword [esp + 0x58]
jne 0x4306c4
lea edx, [esp + 0x54]
push edx
lea eax, [esp + 0x68]
push eax
call fcn.00403420
mov ecx, dword [esi + 4]
mov edi, dword [ecx]
mov edx, dword [edi + 4]
add esp, 8
push eax
push edx
push edi
mov ecx, esi
call fcn.004039e0
push 1
mov ecx, esi
mov ebx, eax
call fcn.00404830
mov dword [edi + 4], ebx
mov eax, dword [ebx + 4]
mov dword [eax], ebx
mov al, 1
jmp 0x430d42
lea edi, [esp + 0x84]
lea ecx, [ebx + 0x178]
mov dword [esp + 0x14], 0x25
lea esp, [esp]
xor ebx, ebx
xor eax, eax
mov dl, byte [ecx + eax]
neg dl
sbb dl, dl
add eax, 1
and edx, 0xff
cmp eax, 0x38
mov byte [edi + eax - 1], dl
jl 0x4306e4
add ecx, 0x38
add edi, 0x38
sub dword [esp + 0x14], 1
jne 0x4306e0
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x5c]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [edx + ecx*8]
mov edx, dword [esp + 0x54]
mov byte [esp + eax + 0x84], 1
mov eax, dword [esp + 0x58]
lea ecx, [eax*8]
sub ecx, eax
lea eax, [edx + ecx*8]
lea ecx, [esp + 0x18]
mov byte [esp + eax + 0x84], 0xfe
call fcn.0042e110
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ebx
lea ecx, [eax + 4]
mov dword [esp + 0x2c], ecx
lea edx, [esp + 0x5c]
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
mov ecx, dword [ecx]
push edx
push ecx
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x8bc], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x50], ebx
xor edi, edi
mov byte [esp + 0x1e], 0
mov byte [esp + 0x1f], 1
call fcn.0042e180
push 1
lea ecx, [esp + 0x1c]
mov ebx, eax
call fcn.00430490
mov edx, dword [esp + 0x2c]
mov dword [edx], ebx
mov eax, dword [ebx + 4]
mov dword [eax], ebx
mov eax, dword [esp + 0x1c]
jmp 0x4307c0
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x430a5e
jle 0x430a53
mov dword [esp + 0x34], ecx
mov esi, dword [eax]
cmp esi, eax
jne 0x4307e5
call fcn.0055d776
mov eax, dword [esp + 0x1c]
mov ebx, dword [esi + 8]
mov edi, dword [esi + 0xc]
mov esi, dword [eax]
cmp esi, eax
mov dword [esp + 0x44], ebx
jne 0x430802
call fcn.0055d776
mov eax, dword [esp + 0x1c]
cmp esi, eax
je 0x430823
mov ecx, dword [esi + 4]
mov edx, dword [esi]
mov dword [ecx], edx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
push esi
mov dword [eax + 4], ecx
call fcn.0055d39b
mov eax, dword [esp + 0x20]
add esp, 4
sub dword [esp + 0x20], 1
mov esi, dword [esp + 0x44]
lea edx, [edi*8]
sub edx, edi
lea ecx, [ebx + edx*8]
mov bl, byte [esp + ecx + 0x84]
add esi, 0xffffffff
add bl, 1
cmp esi, 0xffffffff
mov dword [esp + 0x14], ecx
jle 0x4308c3
mov dl, byte [esp + ecx + 0x83]
cmp dl, 0xff
jne 0x4308a5
lea ecx, [eax + 4]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ecx]
lea edx, [esp + 0x7c]
push edx
push ecx
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x88], esi
mov dword [esp + 0x8c], edi
call fcn.0042e180
push 1
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.00430490
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov dword [edx], esi
mov eax, dword [esi + 4]
mov dword [eax], esi
mov eax, dword [esp + 0x1c]
mov byte [esp + ecx + 0x83], bl
jmp 0x4308c3
cmp dl, 0xfe
jne 0x4308c3
mov byte [esp + ecx + 0x83], bl
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], edi
mov byte [esp + 0x12], 1
mov byte [esp + 0x13], 0
mov esi, dword [esp + 0x44]
add esi, 1
cmp esi, 0x38
jge 0x430943
mov dl, byte [esp + ecx + 0x85]
cmp dl, 0xff
jne 0x430925
lea ecx, [eax + 4]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ecx]
lea edx, [esp + 0x6c]
push edx
push ecx
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x78], esi
mov dword [esp + 0x7c], edi
call fcn.0042e180
push 1
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.00430490
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov dword [edx], esi
mov eax, dword [esi + 4]
mov dword [eax], esi
mov eax, dword [esp + 0x1c]
mov byte [esp + ecx + 0x85], bl
jmp 0x430943
cmp dl, 0xfe
jne 0x430943
mov byte [esp + ecx + 0x85], bl
mov dword [esp + 0x24], esi
mov dword [esp + 0x28], edi
mov byte [esp + 0x12], 1
mov byte [esp + 0x13], 0
lea esi, [edi - 1]
cmp esi, 0xffffffff
jle 0x4309c1
mov dl, byte [esp + ecx + 0x4c]
cmp dl, 0xff
jne 0x4309a2
mov edx, dword [esp + 0x44]
lea ecx, [eax + 4]
mov dword [esp + 0x74], edx
mov dword [esp + 0x2c], ecx
mov ecx, dword [ecx]
lea edx, [esp + 0x74]
push edx
push ecx
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x84], esi
call fcn.0042e180
push 1
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.00430490
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov dword [edx], esi
mov eax, dword [esi + 4]
mov dword [eax], esi
mov eax, dword [esp + 0x1c]
mov byte [esp + ecx + 0x4c], bl
jmp 0x4309c1
cmp dl, 0xfe
jne 0x4309c1
mov edx, dword [esp + 0x44]
mov byte [esp + ecx + 0x4c], bl
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
mov byte [esp + 0x12], 1
mov byte [esp + 0x13], 0
lea esi, [edi + 1]
cmp esi, 0x25
jge 0x430a44
mov dl, byte [esp + ecx + 0xbc]
cmp dl, 0xff
lea ecx, [esp + ecx + 0xbc]
mov dword [esp + 0x14], ecx
jne 0x430a27
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x64], ecx
lea ecx, [eax + 4]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ecx]
lea edx, [esp + 0x64]
push edx
push ecx
push eax
lea ecx, [esp + 0x24]
mov dword [esp + 0x74], esi
call fcn.0042e180
push 1
lea ecx, [esp + 0x1c]
mov esi, eax
call fcn.00430490
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
mov dword [edx], esi
mov eax, dword [esi + 4]
mov dword [eax], esi
mov eax, dword [esp + 0x1c]
jmp 0x430a42
cmp dl, 0xfe
jne 0x430a44
mov edx, dword [esp + 0x44]
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
mov byte [esp + 0x12], 1
mov byte [esp + 0x13], 0
mov byte [ecx], bl
sub dword [esp + 0x34], 1
jne 0x4307d6
mov esi, dword [esp + 0x30]
cmp byte [esp + 0x13], 0
jne 0x4307c0
mov ecx, dword [eax]
mov dword [eax], eax
mov eax, dword [esp + 0x1c]
mov dword [eax + 4], eax
mov edx, dword [esp + 0x1c]
cmp ecx, edx
mov dword [esp + 0x20], 0
je 0x430a95
lea esp, [esp]
mov ebx, dword [ecx]
push ecx
call fcn.0055d39b
mov edx, dword [esp + 0x20]
add esp, 4
cmp ebx, edx
mov ecx, ebx
jne 0x430a80
cmp byte [esp + 0x12], 0
je 0x430d03
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x34], eax
mov dword [esp + 0x4c], eax
sub eax, dword [esp + 0x24]
mov dword [esp + 0x50], ecx
sub ecx, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
lea eax, [ebx*8]
sub eax, ebx
lea eax, [ecx + eax*8]
mov dl, byte [esp + eax + 0x84]
cmp dl, 1
mov dword [esp + 0x14], eax
je 0x430cff
mov eax, ebx
sub eax, dword [esp + 0x40]
mov dword [esp + 0x64], ecx
sub ecx, dword [esp + 0x3c]
lea ebx, [eax*8]
sub ebx, eax
movzx edx, dl
lea ebx, [ecx + ebx*8]
movzx ebx, byte [esp + ebx + 0x84]
add edx, 0xffffffff
cmp ebx, edx
jne 0x430b2b
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x28]
mov edi, eax
mov eax, dword [esp + 0x24]
jmp 0x430bb3
mov eax, dword [esp + 0x24]
lea ecx, [eax - 1]
cmp ecx, 0xffffffff
jle 0x430b53
mov ebx, dword [esp + 0x14]
movzx ebx, byte [esp + ebx + 0x83]
cmp ebx, edx
jne 0x430b53
mov dword [esp + 0x44], ecx
mov ecx, dword [esp + 0x28]
mov edi, ecx
jmp 0x430b57
mov ecx, dword [esp + 0x28]
lea ebx, [eax + 1]
cmp ebx, 0x38
jge 0x430b78
mov ebx, dword [esp + 0x14]
movzx ebx, byte [esp + ebx + 0x85]
cmp ebx, edx
jne 0x430b78
lea edi, [eax + 1]
mov dword [esp + 0x44], edi
mov edi, ecx
lea ebx, [ecx - 1]
cmp ebx, 0xffffffff
jle 0x430b94
mov ebx, dword [esp + 0x14]
movzx ebx, byte [esp + ebx + 0x4c]
cmp ebx, edx
jne 0x430b94
mov dword [esp + 0x44], eax
lea edi, [ecx - 1]
lea ebx, [ecx + 1]
cmp ebx, 0x25
jge 0x430bb3
mov ebx, dword [esp + 0x14]
movzx ebx, byte [esp + ebx + 0xbc]
cmp ebx, edx
jne 0x430bb3
mov dword [esp + 0x44], eax
lea edi, [ecx + 1]
mov edx, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x4c], eax
sub eax, edx
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x50], ecx
sub ecx, edi
test edx, edx
mov dword [esp + 0x28], edi
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
je 0x430cd1
test ebx, ebx
je 0x430cd1
test eax, eax
je 0x430cd1
test ecx, ecx
je 0x430cd1
test edx, edx
jge 0x430c5f
test ebx, ebx
jle 0x430c5d
test eax, eax
jge 0x430c13
test ecx, ecx
jg 0x430ac4
mov dword [esp + 0x38], ecx
lea ecx, [esp + 0x4c]
push ecx
lea edx, [esp + 0x78]
mov dword [esp + 0x38], eax
push edx
call fcn.00403420
mov ecx, dword [esi + 4]
mov ebx, dword [ecx]
mov edx, dword [ebx + 4]
add esp, 8
push eax
push edx
push ebx
mov ecx, esi
call fcn.004039e0
push 1
mov ecx, esi
mov dword [esp + 0x34], eax
call fcn.00404830
mov eax, dword [esp + 0x30]
mov dword [ebx + 4], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
jmp 0x430ac4
test edx, edx
jle 0x430ac4
test ebx, ebx
jge 0x430ac4
cmp dword [esp + 0x3c], 0
jle 0x430c7f
cmp dword [esp + 0x40], 0
jl 0x430ac4
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x40]
lea ecx, [esp + 0x4c]
mov dword [esp + 0x34], edx
push ecx
lea edx, [esp + 0x70]
push edx
mov dword [esp + 0x40], eax
call fcn.00403420
mov ecx, dword [esi + 4]
mov ebx, dword [ecx]
mov edx, dword [ebx + 4]
add esp, 8
push eax
push edx
push ebx
mov ecx, esi
call fcn.004039e0
push 1
mov ecx, esi
mov dword [esp + 0x34], eax
call fcn.00404830
mov eax, dword [esp + 0x30]
mov dword [ebx + 4], eax
mov ecx, dword [eax + 4]
mov dword [ecx], eax
jmp 0x430ac4
cmp edx, eax
jne 0x430ce5
cmp ebx, ecx
je 0x430ac4
mov ecx, dword [esp + 0x40]
mov eax, dword [esp + 0x3c]
lea edx, [esp + 0x4c]
mov dword [esp + 0x34], eax
push edx
lea eax, [esp + 0x80]
mov dword [esp + 0x3c], ecx
push eax
jmp 0x430c25
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov dword [edx], edx
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 4], ecx
mov ecx, dword [esp + 0x1c]
cmp eax, ecx
mov dword [esp + 0x20], 0
je 0x430d35
mov edi, edi
mov esi, dword [eax]
push eax
call fcn.0055d39b
mov ecx, dword [esp + 0x20]
add esp, 4
cmp esi, ecx
mov eax, esi
jne 0x430d20
push ecx
call fcn.0055d39b
mov al, byte [esp + 0x16]
add esp, 4
mov ecx, dword [esp + 0x8a8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x890]
xor ecx, esp
call fcn.0055d2d5
mov esp, ebp
pop ebp
ret 4