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

Disassembly:
push 0xffffffffffffffff
push 0x471a93
mov eax, dword fs:[0]
push eax
sub esp, 0x7c
mov eax, dword [0x48e4f0]
xor eax, esp
mov dword [esp + 0x78], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x48e4f0]
xor eax, esp
push eax
lea eax, [esp + 0x90]
mov dword fs:[0], eax
mov esi, ecx
xor ebx, ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0x20], ebx
mov dword [esp + 0x98], 1
mov eax, dword [esp + 0xcc]
push 0x47ca70
xor edi, edi
lea ecx, [esp + 0xc0]
call fcn.00403a30
test eax, eax
jne 0x4387d8
lea ecx, [esp + 0xa0]
xor eax, eax
mov ebp, 7
mov dword [esi + 0x14], ebp
mov dword [esi + 0x10], ebx
mov word [esi], ax
or eax, 0xffffffff
push ebx
mov edx, esi
call fcn.004043d0
mov edi, 8
cmp dword [esp + 0xb4], edi
jb 0x43877e
mov ecx, dword [esp + 0xa0]
push ecx
call fcn.004593e2
add esp, 4
xor edx, edx
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb0], ebx
mov word [esp + 0xa0], dx
cmp dword [esp + 0xd0], edi
jb 0x4387af
mov eax, dword [esp + 0xbc]
push eax
call fcn.004593e2
add esp, 4
mov eax, esi
mov ecx, dword [esp + 0x90]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x78]
xor ecx, esp
call fcn.004593ed
add esp, 0x88
ret 0x38
push 0x47c9bc
lea ecx, [esp + 0xc0]
push ecx
mov eax, 0x48340c
call fcn.0041cd70
nop
push 0x483da8
lea edx, [esp + 0xc0]
push edx
mov eax, 0x48340c
call fcn.0041cd70
test eax, eax
jne 0x4387f0
lea edi, [eax + 1]
mov eax, dword [esp + 0xcc]
push 0x48340c
lea ecx, [esp + 0xc0]
call fcn.00403a30
test eax, eax
jne 0x438836
lea ecx, [esp + 0xbc]
jmp 0x438745
push 0x24
mov dword [esp + 0x1c], ebx
call fcn.004596f4
mov ebp, eax
add esp, 4
cmp ebp, ebx
je 0x439365
mov dword [ebp], ebp
mov dword [esp + 0x14], ebp
mov dword [ebp + 4], ebp
lea ecx, [esp + 0xbc]
push ecx
mov ecx, 1
lea edi, [esp + 0x58]
mov byte [esp + 0x9c], 2
call fcn.00404dd0
mov ecx, eax
mov byte [esp + 0x98], 3
mov eax, dword [ecx + 0x10]
push 0x48340c
mov edi, 1
call fcn.00403a30
test eax, eax
setne bl
mov byte [esp + 0x98], 2
cmp dword [esp + 0x68], 8
jb 0x4388b3
mov edx, dword [esp + 0x54]
push edx
call fcn.004593e2
add esp, 4
test bl, bl
je 0x438a2e
push 0x48340c
lea eax, [esp + 0xa4]
push eax
call fcn.0041d3c0
xor ecx, ecx
lea esi, [esp + 0xa0]
call fcn.00404050
jmp 0x4388e0
push 0x48340c
lea ecx, [esp + 0xa4]
push ecx
mov ebx, 1
xor eax, eax
call fcn.00405040
mov esi, eax
cmp esi, 0xffffffff
je 0x438a00
cmp esi, 0xffffffff
je 0x438a00
lea edx, [esp + 0xa0]
push edx
mov ecx, esi
lea edi, [esp + 0x58]
call fcn.00404dd0
push eax
mov byte [esp + 0x9c], 4
mov eax, dword [ebp + 4]
push eax
push ebp
call fcn.0043def0
mov ecx, 0x9249248
sub ecx, dword [esp + 0x18]
cmp ecx, ebx
jb 0x4389f6
inc dword [esp + 0x18]
mov dword [ebp + 4], eax
mov ecx, dword [eax + 4]
mov ebx, 8
mov dword [ecx], eax
mov byte [esp + 0x98], 2
cmp dword [esp + 0x68], ebx
jb 0x438970
mov edx, dword [esp + 0x54]
push edx
call fcn.004593e2
add esp, 4
lea ecx, [esi + 1]
lea eax, [esp + 0x54]
lea edx, [esp + 0xa0]
call fcn.00404ed0
mov edi, eax
mov byte [esp + 0x98], 5
mov ecx, dword [esp + 0xa0]
cmp dword [esp + 0xb4], ebx
jae 0x4389a4
lea ecx, [esp + 0xa0]
cmp dword [edi + 0x14], ebx
jb 0x4389ad
mov eax, dword [edi]
jmp 0x4389af
mov eax, edi
cmp ecx, eax
je 0x4389d2
or eax, 0xffffffff
xor ecx, ecx
lea esi, [esp + 0xa0]
call fcn.00404050
push 0
or eax, 0xffffffff
mov ecx, edi
mov edx, esi
call fcn.004043d0
mov byte [esp + 0x98], 2
cmp dword [esp + 0x68], ebx
jb 0x4388e0
mov eax, dword [esp + 0x54]
push eax
call fcn.004593e2
add esp, 4
jmp 0x4388e0
push str.list_T__too_long
call fcn.004575ee
mov eax, dword [esp + 0xb0]
push 0x47ca70
xor edi, edi
lea ecx, [esp + 0xa4]
call fcn.00403a30
test eax, eax
je 0x438a2e
lea eax, [esp + 0xa0]
lea edi, [esp + 0x14]
call fcn.00402d90
push 0x48340c
lea ecx, [esp + 0xc0]
push ecx
mov edi, 1
call fcn.0041d3c0
xor ecx, ecx
lea esi, [esp + 0xbc]
call fcn.00404050
mov edx, esi
push edx
mov edx, edi
lea edi, [esp + 0x58]
call fcn.0041cef0
mov ecx, eax
mov byte [esp + 0x98], 6
mov eax, dword [ecx + 0x10]
push 0x48340c
mov edi, 1
call fcn.00403a30
test eax, eax
setne bl
mov byte [esp + 0x98], 2
cmp dword [esp + 0x68], 8
jb 0x438a9e
mov eax, dword [esp + 0x54]
push eax
call fcn.004593e2
add esp, 4
test bl, bl
je 0x438ab6
push 0x48340c
lea ecx, [esp + 0xc0]
call fcn.004054a0
add esp, 4
mov ebp, dword [esp + 0x18]
lea ebx, [ebx]
push 0x48340c
lea ecx, [esp + 0xc0]
push ecx
mov ebx, 1
xor eax, eax
call fcn.00405040
mov esi, eax
cmp esi, 0xffffffff
je 0x438c87
cmp esi, 0xffffffff
je 0x438c87
lea edx, [esp + 0xbc]
push edx
mov ecx, esi
lea edi, [esp + 0x3c]
call fcn.00404dd0
mov bl, 7
lea ecx, [esi + 1]
lea eax, [esp + 0x54]
lea edx, [esp + 0xbc]
mov byte [esp + 0x98], bl
call fcn.00404ed0
mov edi, eax
mov byte [esp + 0x98], 8
cmp dword [esp + 0xd0], 8
mov ecx, dword [esp + 0xbc]
jae 0x438b3e
lea ecx, [esp + 0xbc]
mov esi, 8
cmp dword [edi + 0x14], esi
jb 0x438b4c
mov eax, dword [edi]
jmp 0x438b4e
mov eax, edi
cmp ecx, eax
je 0x438b76
or eax, 0xffffffff
xor ecx, ecx
lea esi, [esp + 0xbc]
call fcn.00404050
push 0
or eax, 0xffffffff
mov ecx, edi
mov edx, esi
call fcn.004043d0
mov esi, 8
mov byte [esp + 0x98], bl
cmp dword [esp + 0x68], esi
jb 0x438b90
mov eax, dword [esp + 0x54]
push eax
call fcn.004593e2
add esp, 4
mov eax, dword [esp + 0x48]
push 0x47ca70
xor edi, edi
lea ecx, [esp + 0x3c]
call fcn.00403a30
test eax, eax
jne 0x438bcc
mov byte [esp + 0x98], 2
cmp dword [esp + 0x4c], esi
jb 0x438ac0
mov ecx, dword [esp + 0x38]
push ecx
call fcn.004593e2
add esp, 4
jmp 0x438ac0
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
xor edi, edi
xor eax, eax
test edx, edx
jle 0x438bf9
lea esp, [esp]
mov ecx, dword [esp + 0x38]
cmp ebx, esi
jae 0x438bec
lea ecx, [esp + 0x38]
cmp word [ecx + eax*2], 0x2e
jne 0x438c32
inc eax
inc edi
cmp eax, edx
jl 0x438be0
dec edi
je 0x438c62
lea esp, [esp]
test ebp, ebp
je 0x438c2d
mov eax, dword [esp + 0x14]
mov esi, dword [eax + 4]
cmp esi, eax
je 0x438c2d
mov eax, dword [esi + 4]
mov edx, dword [esi]
mov dword [eax], edx
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [eax + 4], ecx
call fcn.00403990
push esi
call fcn.004593e2
add esp, 4
dec ebp
dec edi
jne 0x438c00
jmp 0x438c5e
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 4]
lea edx, [esp + 0x38]
push edx
push eax
push esi
call fcn.004034e0
mov ecx, 0x9249248
sub ecx, ebp
cmp ecx, 1
jb 0x4389f6
mov dword [esi + 4], eax
mov ecx, dword [eax + 4]
inc ebp
mov dword [ecx], eax
mov dword [esp + 0x18], ebp
mov byte [esp + 0x98], 2
cmp dword [esp + 0x4c], 8
jb 0x438ac0
mov edx, dword [esp + 0x38]
push edx
call fcn.004593e2
add esp, 4
jmp 0x438ac0
mov eax, 7
xor ebp, ebp
xor ecx, ecx
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ebp
mov word [esp + 0x54], cx
mov byte [esp + 0x98], 9
cmp dword [esp + 0x18], ebp
jne 0x438d7f
mov ebx, dword [esp + 0x24]
xor edx, edx
mov dword [ebx + 0x14], eax
mov dword [ebx + 0x10], ebp
mov word [ebx], dx
mov eax, 0x48340c
mov byte [esp + 0x98], 0xa
test eax, 0xffff0000
jne 0x438ce1
mov ecx, eax
movzx edx, cx
push edx
mov eax, ebx
call fcn.00406620
jmp 0x438cf0
push 0x48340c
call fcn.00406760
add esp, 4
xor ebp, ebp
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
mov dword [eax], eax
mov dword [eax + 4], eax
cmp esi, eax
je 0x438d18
nop
mov edi, dword [esi]
call fcn.00403990
push esi
call fcn.004593e2
add esp, 4
mov esi, edi
cmp edi, dword [esp + 0x14]
jne 0x438d00
mov eax, dword [esp + 0x14]
push eax
call fcn.004593e2
mov esi, 8
add esp, 4
cmp dword [esp + 0xb4], esi
jb 0x438d43
mov ecx, dword [esp + 0xa0]
push ecx
call fcn.004593e2
add esp, 4
xor edx, edx
mov dword [esp + 0xb4], 7
mov dword [esp + 0xb0], ebp
mov word [esp + 0xa0], dx
cmp dword [esp + 0xd0], esi
jb 0x438d78
mov eax, dword [esp + 0xbc]
push eax
call fcn.004593e2
add esp, 4
mov eax, ebx
jmp 0x4387b1
mov eax, dword [esp + 0x14]
mov ecx, dword [eax]
mov dword [esp + 0x28], ecx
cmp ecx, eax
je 0x439063
mov ecx, dword [esp + 0x28]
xor edx, edx
xor ebp, ebp
mov word [esp + 0x38], dx
add ecx, 8
push ebp
or eax, 0xffffffff
lea edx, [esp + 0x3c]
mov dword [esp + 0x50], 7
mov dword [esp + 0x4c], ebp
call fcn.004043d0
lea eax, [esp + 0x38]
push eax
mov byte [esp + 0x9c], 0xb
call fcn.0041cca0
mov ecx, dword [0x48faf8]
mov dword [esp + 0x20], 0x48faf8
cmp word [ecx], bp
je 0x438e71
mov edi, dword [esp + 0x48]
mov eax, ecx
lea esi, [eax + 2]
lea esp, [esp]
mov dx, word [eax]
add eax, 2
cmp dx, bp
jne 0x438df0
sub eax, esi
sar eax, 1
mov esi, edi
cmp edi, eax
jb 0x438e07
mov esi, eax
cmp dword [esp + 0x4c], 8
mov edx, dword [esp + 0x38]
jae 0x438e16
lea edx, [esp + 0x38]
cmp esi, ebp
jbe 0x438e3d
lea ebx, [ebx]
mov bx, word [edx]
cmp bx, word [ecx]
jne 0x438e33
add edx, 2
add ecx, 2
dec esi
jne 0x438e20
jmp 0x438e3d
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
cmp ecx, ebp
jne 0x438e4f
cmp edi, eax
jae 0x438e46
or ecx, 0xffffffff
jmp 0x438e4d
xor ecx, ecx
cmp edi, eax
setne cl
cmp ecx, ebp
sete al
test al, al
jne 0x439132
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 4]
add eax, 4
mov dword [esp + 0x20], eax
cmp word [ecx], bp
jne 0x438de7
push 0x47fcb8
lea eax, [esp + 0x3c]
push eax
mov ebx, 1
xor eax, eax
call fcn.00405040
cmp eax, 0xffffffff
je 0x438fec
cmp eax, 3
jl 0x438fec
lea ecx, [esp + 0x38]
push ecx
mov ecx, eax
lea edi, [esp + 0x74]
call fcn.00404dd0
mov edi, eax
mov byte [esp + 0x98], 0xd
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x38]
mov ecx, ebp
cmp ebx, 8
jae 0x438ec6
lea ecx, [esp + 0x38]
cmp dword [edi + 0x14], 8
jb 0x438ed0
mov eax, dword [edi]
jmp 0x438ed2
mov eax, edi
cmp ecx, eax
je 0x438f3a
mov eax, dword [esp + 0x48]
or esi, 0xffffffff
cmp eax, 0xffffffff
jae 0x438ee8
mov esi, eax
test eax, eax
je 0x438f2a
mov edx, ebp
cmp ebx, 8
jae 0x438fb4
lea edx, [esp + 0x38]
mov ecx, edx
sub eax, esi
add eax, eax
push eax
lea edx, [edx + esi*2]
push edx
push ecx
call fcn.00459780
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x44]
sub eax, esi
add esp, 0xc
cmp dword [esp + 0x4c], 8
mov dword [esp + 0x48], eax
jae 0x438f24
lea ecx, [esp + 0x38]
xor edx, edx
mov word [ecx + eax*2], dx
push 0
or eax, 0xffffffff
mov ecx, edi
lea edx, [esp + 0x3c]
call fcn.004043d0
mov byte [esp + 0x98], 0xb
cmp dword [esp + 0x84], 8
jb 0x438f59
mov eax, dword [esp + 0x70]
push eax
call fcn.004593e2
add esp, 4
mov ecx, dword [0x48faf8]
cmp word [ecx], 0
mov ebx, 0x48faf8
je 0x438fec
mov edi, dword [esp + 0x48]
mov eax, ecx
lea esi, [eax + 2]
mov dx, word [eax]
add eax, 2
test dx, dx
jne 0x438f77
sub eax, esi
sar eax, 1
mov esi, edi
cmp edi, eax
jb 0x438f8e
mov esi, eax
cmp dword [esp + 0x4c], 8
mov edx, dword [esp + 0x38]
jae 0x438f9d
lea edx, [esp + 0x38]
test esi, esi
je 0x438fc3
mov bp, word [edx]
cmp bp, word [ecx]
jne 0x438fbb
add edx, 2
add ecx, 2
dec esi
jne 0x438fa1
jmp 0x438fc3
mov ecx, ebp
jmp 0x438ef9
sbb ecx, ecx
and ecx, 0xfffffffe
inc ecx
jne 0x438fd3
cmp edi, eax
jae 0x438fcc
or ecx, 0xffffffff
jmp 0x438fd3
xor ecx, ecx
cmp edi, eax
setne cl
test ecx, ecx
sete al
test al, al
jne 0x439248
mov ecx, dword [ebx + 4]
add ebx, 4
cmp word [ecx], 0
jne 0x438f72
mov edi, dword [esp + 0x28]
lea eax, [edi + 8]
push eax
lea eax, [esp + 0x74]
push eax
mov ebx, 0x48340c
call fcn.00420c90
add esp, 8
push 0
push eax
or eax, 0xffffffff
lea esi, [esp + 0x5c]
mov byte [esp + 0xa0], 0xf
call fcn.00405280
mov esi, 8
cmp dword [esp + 0x84], esi
jb 0x439038
mov ecx, dword [esp + 0x70]
push ecx
call fcn.004593e2
add esp, 4
mov byte [esp + 0x98], 9
cmp dword [esp + 0x4c], esi
jb 0x439053
mov edx, dword [esp + 0x38]
push edx
call fcn.004593e2
add esp, 4
mov edi, dword [edi]
mov dword [esp + 0x28], edi
cmp edi, dword [esp + 0x14]
jne 0x438d91
mov ebx, dword [esp + 0x24]
xor ecx, ecx
mov dword [ebx + 0x14], 7
mov dword [ebx + 0x10], 0
mov word [ebx], cx
push ecx
or eax, 0xffffffff
lea ecx, [esp + 0x58]
mov edx, ebx
call fcn.004043d0
mov ebp, 8
cmp dword [esp + 0x68], ebp
jb 0x4390a1
mov edx, dword [esp + 0x54]
push edx
call fcn.004593e2
add esp, 4
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
mov dword [eax], eax
mov dword [eax + 4], eax
cmp esi, eax
je 0x4390c8
mov edi, dword [esi]
call fcn.00403990
push esi
call fcn.004593e2
add esp, 4
mov esi, edi
cmp edi, dword [esp + 0x14]
jne 0x4390b0
mov eax, dword [esp + 0x14]
push eax
call fcn.004593e2
add esp, 4
cmp dword [esp + 0xb4], ebp
jb 0x4390ee
mov ecx, dword [esp + 0xa0]
push ecx
call fcn.004593e2
add esp, 4
xor edx, edx
mov dword [esp + 0xb4], 7
mov dword [esp + 0xb0], 0
mov word [esp + 0xa0], dx
cmp dword [esp + 0xd0], ebp
jb 0x438d78
mov eax, dword [esp + 0xbc]
push eax
call fcn.004593e2
add esp, 4
mov eax, ebx
jmp 0x4387b1
mov ebx, dword [esp + 0x24]
xor eax, eax
mov dword [ebx + 0x14], 7
mov dword [ebx + 0x10], ebp
mov word [ebx], ax
mov ecx, 0x47ca70
mov byte [esp + 0x98], 0xc
test ecx, 0xffff0000
jne 0x439169
mov edx, ecx
movzx eax, dx
push eax
mov eax, ebx
call fcn.00406620
jmp 0x439178
push 0x47ca70
call fcn.00406760
add esp, 4
xor ebp, ebp
mov esi, 8
cmp dword [esp + 0x4c], esi
jb 0x439190
mov ecx, dword [esp + 0x38]
push ecx
call fcn.004593e2
add esp, 4
xor edx, edx
mov dword [esp + 0x4c], 7
mov dword [esp + 0x48], ebp
mov word [esp + 0x38], dx
cmp dword [esp + 0x68], esi
jb 0x4391b6
mov eax, dword [esp + 0x54]
push eax
call fcn.004593e2
add esp, 4
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
mov dword [eax], eax
mov dword [eax + 4], eax
cmp esi, eax
je 0x4391dd
mov edi, dword [esi]
call fcn.00403990
push esi
call fcn.004593e2
add esp, 4
mov esi, edi
cmp edi, dword [esp + 0x14]
jne 0x4391c5
mov ecx, dword [esp + 0x14]
push ecx
call fcn.004593e2
mov esi, 8
add esp, 4
cmp dword [esp + 0xb4], esi
jb 0x439208
mov edx, dword [esp + 0xa0]
push edx
call fcn.004593e2
add esp, 4
xor eax, eax
mov dword [esp + 0xb4], 7
mov dword [esp + 0xb0], ebp
mov word [esp + 0xa0], ax
cmp dword [esp + 0xd0], esi
jb 0x438d78
mov ecx, dword [esp + 0xbc]
push ecx
call fcn.004593e2
add esp, 4
mov eax, ebx
jmp 0x4387b1
mov ebx, dword [esp + 0x24]
mov ebp, 7
xor edx, edx
mov dword [ebx + 0x14], ebp
mov dword [ebx + 0x10], 0
mov word [ebx], dx
mov eax, 0x47ca70
mov byte [esp + 0x98], 0xe
test eax, 0xffff0000
jne 0x439283
mov ecx, eax
movzx edx, cx
push edx
mov eax, ebx
call fcn.00406620
jmp 0x439295
push 0x47ca70
call fcn.00406760
add esp, 4
mov ebp, 7
mov esi, 8
cmp dword [esp + 0x4c], esi
jb 0x4392ad
mov eax, dword [esp + 0x38]
push eax
call fcn.004593e2
add esp, 4
xor ecx, ecx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], 0
mov word [esp + 0x38], cx
cmp dword [esp + 0x68], esi
jb 0x4392d3
mov edx, dword [esp + 0x54]
push edx
call fcn.004593e2
add esp, 4
mov eax, dword [esp + 0x14]
mov esi, dword [eax]
mov dword [eax], eax
mov dword [eax + 4], eax
cmp esi, eax
je 0x4392fa
mov edi, dword [esi]
call fcn.00403990
push esi
call fcn.004593e2
add esp, 4
mov esi, edi
cmp edi, dword [esp + 0x14]
jne 0x4392e2
mov eax, dword [esp + 0x14]
push eax
call fcn.004593e2
mov esi, 8
add esp, 4
cmp dword [esp + 0xb4], esi
jb 0x439325
mov ecx, dword [esp + 0xa0]
push ecx
call fcn.004593e2
add esp, 4
xor edx, edx
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb0], 0
mov word [esp + 0xa0], dx
cmp dword [esp + 0xd0], esi
jb 0x438d78
mov eax, dword [esp + 0xbc]
push eax
call fcn.004593e2
add esp, 4
mov eax, ebx
jmp 0x4387b1
lea ecx, [esp + 0x20]
push ecx
lea ecx, [esp + 0x30]
mov dword [esp + 0x24], ebx
call fcn.004595b5
push 0x487be8
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x34], vtable.std::bad_alloc.0
call fcn.0045c38b
int3