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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x168
mov eax, dword [0x6019e4]
xor eax, esp
mov dword [esp + 0x164], eax
push esi
push edi
mov edi, ecx
mov dword [esp + 0x20], 0
xorps xmm0, xmm0
mov dword [esp + 0x54], edi
movaps xmmword [esp + 0x10], xmm0
mov dword [esp + 0x10], 0x5ef028
mov eax, dword [edi + 0x34]
mov edx, dword [edi + 0x44]
sub edx, eax
mov dword [esp + 0x18], 0xf84
add edx, 0x360
add eax, edx
cmp dword [edi + 0x38], eax
jae 0x4389ab
cmp dword [edi + 0x3c], eax
jb 0x4389a1
mov dword [edi + 0x38], eax
jmp 0x4389ab
push 1
call fcn.00411440
add esp, 4
lea eax, [edi + 0x64]
mov dword [esp + 0x3c], 0
mov dword [esp + 0x48], eax
nop word [eax + eax]
mov edx, 2
lea ecx, [esp + 0x10]
call fcn.004556b0
sub eax, 0
je 0x438a26
lea ecx, [esp + 0x10]
sub eax, 1
je 0x438a17
sub eax, 1
je 0x438a08
mov edx, 7
call fcn.004556b0
test eax, eax
jne 0x438a03
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.004556b0
mov esi, eax
mov dword [esp + 0x44], eax
jmp 0x438a2c
lea esi, [eax + 0x24]
jmp 0x438a28
mov edx, 5
call fcn.004556b0
lea esi, [eax + 5]
jmp 0x438a28
mov edx, 2
call fcn.004556b0
lea esi, [eax + 1]
jmp 0x438a28
xor esi, esi
mov dword [esp + 0x44], esi
mov edx, 1
lea ecx, [esp + 0x10]
call fcn.004556b0
test eax, eax
je 0x438a52
mov edx, 3
lea ecx, [esp + 0x10]
call fcn.004556b0
mov dword [esp + 0x38], eax
jmp 0x438a5a
mov dword [esp + 0x38], 0xffffffff
cmp esi, 3
jne 0x438bf2
lea edx, [esi - 1]
lea ecx, [esp + 0x10]
call fcn.004556b0
sub eax, 0
je 0x438abd
lea ecx, [esp + 0x10]
sub eax, 1
je 0x438ab0
sub eax, 1
je 0x438aa1
lea edx, [esi + 4]
call fcn.004556b0
test eax, eax
jne 0x438a9c
lea edx, [esi + 0x11]
lea ecx, [esp + 0x10]
call fcn.004556b0
jmp 0x438abf
add eax, 0x24
jmp 0x438abf
mov edx, 5
call fcn.004556b0
add eax, 5
jmp 0x438abf
mov edx, 2
call fcn.004556b0
inc eax
jmp 0x438abf
xor eax, eax
mov eax, dword [eax*4 + 0x5ee970]
lea ecx, [esp + 0x10]
mov edx, 1
mov dword [esp + 0x40], eax
call fcn.004556b0
test eax, eax
je 0x438aec
mov edx, 3
lea ecx, [esp + 0x10]
call fcn.004556b0
jmp 0x438af0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x40]
cmp eax, 7
mov ecx, 0xffffffff
push 5
cmove eax, ecx
mov ecx, edi
push 0x18075380
push eax
call fcn.00414b50
add esp, 0xc
or eax, 0xffffffff
mov edx, eax
mov ecx, edi
call fcn.00412690
lea edx, [esp + 0x10]
mov dword [esp + 0x50], eax
call fcn.004387c0
push 4
push 0x58
mov edx, 0xfffffffe
mov ecx, edi
call fcn.00410890
add esp, 8
lea ecx, [esp + 0x10]
mov edx, 1
call fcn.004556b0
test eax, eax
jne 0x438b59
mov eax, dword [esp + 0x50]
and dword [eax], 0xfffffeff
mov edx, 2
lea ecx, [esp + 0x10]
call fcn.004556b0
sub eax, 0
je 0x438be3
lea ecx, [esp + 0x10]
sub eax, 1
je 0x438bcb
sub eax, 1
je 0x438bb1
mov edx, 7
call fcn.004556b0
test eax, eax
jne 0x438ba1
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.004556b0
mov ecx, dword [esp + 0x50]
mov word [ecx + 0x2e], ax
jmp 0x438ce9
mov ecx, dword [esp + 0x50]
add eax, 0x24
mov word [ecx + 0x2e], ax
jmp 0x438ce9
mov edx, 5
call fcn.004556b0
mov ecx, dword [esp + 0x50]
add eax, 5
mov word [ecx + 0x2e], ax
jmp 0x438ce9
mov edx, 2
call fcn.004556b0
mov ecx, dword [esp + 0x50]
inc eax
mov word [ecx + 0x2e], ax
jmp 0x438ce9
mov ecx, dword [esp + 0x50]
xor eax, eax
mov word [ecx + 0x2e], ax
jmp 0x438ce9
cmp esi, 2
jne 0x438c28
mov ecx, edi
call fcn.00432c40
mov ecx, dword [edi + 0x84]
mov edx, eax
mov dword [edx + 0x14], ecx
test ecx, ecx
je 0x438c10
inc dword [ecx + 4]
mov eax, dword [edi + 0x44]
xor ecx, ecx
or ecx, 0xfff90000
mov dword [eax], edx
mov dword [eax + 4], ecx
inc dword [edx + 4]
jmp 0x438ce5
cmp esi, 0xf
jne 0x438cba
mov ecx, dword [edi + 0x2c]
lea edx, [esi + 0x21]
call fcn.00431920
mov esi, eax
test esi, esi
je 0x439933
push 0x30
push 0
push esi
call fcn.00587250
mov ecx, dword [edi + 0x2c]
add esp, 0xc
mov dword [esi], 0x78000081
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x438c66
mov dword [eax + 0xc], esi
mov dword [esi + 0xc], 0
mov dword [esi + 8], eax
mov dword [ecx + 0x18], esi
xor ecx, ecx
mov edx, dword [edi + 0x44]
or ecx, 0xfff90000
mov dword [esp + 0x5c], ecx
cmp edx, dword [edi + 0x38]
jae 0x43991d
lea eax, [edx + 8]
mov dword [edi + 0x44], eax
mov eax, 0xfff8
mov dword [edx], esi
mov dword [edx + 4], ecx
cmp word [esp + 0x5e], ax
jb 0x438ca5
inc dword [esi + 4]
xor edx, edx
mov ecx, edi
call fcn.00412690
mov dword [esi + 0x28], eax
mov esi, dword [esp + 0x44]
inc dword [eax + 4]
jmp 0x438ce9
mov eax, dword [edi + 0x44]
mov ecx, edi
cmp eax, dword [edi + 0x38]
jae 0x439a33
mov edx, 0x4080
call fcn.00432960
mov ecx, dword [edi + 0x44]
xor edx, edx
or edx, 0xfff90000
mov dword [ecx], eax
mov dword [ecx + 4], edx
inc dword [eax + 4]
add dword [edi + 0x44], 8
or eax, 0xffffffff
mov ecx, edi
mov edx, eax
call fcn.00412690
mov ecx, esi
mov dword [esp + 0x40], eax
shl ecx, 0x1b
mov edx, dword [eax]
and edx, 0x7ffffff
or edx, ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax], edx
cmp ecx, 0x33
jae 0x438d1c
mov edx, dword [esp + 0x48]
mov dword [edx], eax
inc dword [eax + 4]
mov edx, dword [esp + 0x38]
test edx, edx
js 0x438d5d
mov ecx, dword [edi + 0x44]
cmp ecx, dword [edi + 0x38]
jae 0x439949
movd xmm0, edx
lea eax, [ecx + 8]
cvtdq2pd xmm0, xmm0
mov dword [edi + 0x44], eax
mov edx, 0xfffffffe
push 4
push 0x52
movsd qword [ecx], xmm0
mov ecx, edi
call fcn.00410890
mov eax, dword [esp + 0x48]
add esp, 8
mov ecx, dword [esp + 0x3c]
cmp esi, 0xc
jne 0x438d68
or dword [eax], 0x800000
add dword [esp + 0x48], 4
inc ecx
mov dword [esp + 0x3c], ecx
cmp ecx, 0x4c
jb 0x4389c0
xor ecx, ecx
mov dword [esp + 0x44], ecx
test ecx, ecx
jns 0x438d8a
mov eax, dword [edi + 0x44]
jmp 0x438d8d
mov eax, dword [edi + 0x40]
lea esi, [eax + ecx*8]
mov edx, 2
mov esi, dword [esi]
lea ecx, [esp + 0x10]
call fcn.004556b0
sub eax, 0
je 0x438e0f
lea ecx, [esp + 0x10]
sub eax, 1
je 0x438de5
sub eax, 1
je 0x438dd6
mov edx, 7
call fcn.004556b0
test eax, eax
jne 0x438dd1
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.004556b0
mov ecx, eax
jmp 0x438df2
lea ecx, [eax + 0x24]
jmp 0x438df2
mov edx, 5
call fcn.004556b0
lea ecx, [eax + 5]
jmp 0x438df2
mov edx, 2
call fcn.004556b0
lea ecx, [eax + 1]
test ecx, ecx
je 0x438e0f
sub ecx, 1
jns 0x438e05
mov eax, dword [edi + 0x44]
lea ecx, [eax + ecx*8]
mov ecx, dword [ecx]
jmp 0x438e1a
mov eax, dword [edi + 0x40]
lea ecx, [eax + ecx*8]
mov ecx, dword [ecx]
jmp 0x438e1a
test dword [esi], 0x1000
je 0x438e3b
mov ecx, dword [edi + 0x78]
mov eax, dword [esi + 0x14]
mov dword [esi + 0x14], ecx
test ecx, ecx
je 0x438e27
inc dword [ecx + 4]
test eax, eax
je 0x438e3b
add dword [eax + 4], 0xffffffff
jne 0x438e3b
push eax
push edi
call fcn.004321a0
add esp, 8
mov edx, 2
lea ecx, [esp + 0x10]
call fcn.004556b0
sub eax, 0
je 0x438f4a
lea ecx, [esp + 0x10]
sub eax, 1
je 0x438e92
sub eax, 1
je 0x438e83
mov edx, 7
call fcn.004556b0
test eax, eax
jne 0x438e7e
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.004556b0
mov ecx, eax
jmp 0x438e9f
lea ecx, [eax + 0x24]
jmp 0x438e9f
mov edx, 5
call fcn.004556b0
lea ecx, [eax + 5]
jmp 0x438e9f
mov edx, 2
call fcn.004556b0
lea ecx, [eax + 1]
test ecx, ecx
je 0x438f4a
mov edx, dword [edi + 0x44]
dec ecx
cmp edx, dword [edi + 0x38]
jae 0x439988
mov eax, edx
sub eax, dword [edi + 0x40]
sar eax, 3
test ecx, ecx
lea esi, [eax + ecx]
cmovns esi, ecx
cmp esi, eax
jae 0x439976
mov ecx, dword [edi + 0x40]
lea eax, [edx + 8]
mov dword [edi + 0x44], eax
mov eax, dword [ecx + esi*8]
mov dword [edx], eax
mov eax, dword [ecx + esi*8 + 4]
mov dword [edx + 4], eax
mov eax, 0xfff8
cmp word [edx + 6], ax
jb 0x438ef1
mov eax, dword [edx]
inc dword [eax + 4]
mov eax, dword [edi + 0x44]
mov edx, dword [edi + 0x40]
sub eax, edx
mov esi, dword [esp + 0x44]
sar eax, 3
lea ecx, [eax + esi]
test esi, esi
js 0x438f09
mov ecx, esi
cmp ecx, eax
jae 0x438f14
lea eax, [edx + ecx*8]
test eax, eax
jne 0x438f19
mov eax, 0x5ee574
mov ecx, 0xfff9
cmp word [eax + 6], cx
jne 0x43995f
mov edx, dword [eax]
test edx, edx
je 0x43995f
mov eax, dword [edi + 0x130]
mov ecx, edi
push 0
push dword [eax + 0xc8]
call fcn.00436c70
add esp, 8
mov edx, 2
lea ecx, [esp + 0x10]
call fcn.004556b0
sub eax, 0
je 0x439059
lea ecx, [esp + 0x10]
sub eax, 1
je 0x438fa1
sub eax, 1
je 0x438f92
mov edx, 7
call fcn.004556b0
test eax, eax
jne 0x438f8d
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.004556b0
mov ecx, eax
jmp 0x438fae
lea ecx, [eax + 0x24]
jmp 0x438fae
mov edx, 5
call fcn.004556b0
lea ecx, [eax + 5]
jmp 0x438fae
mov edx, 2
call fcn.004556b0
lea ecx, [eax + 1]
test ecx, ecx
je 0x439059
mov edx, dword [edi + 0x44]
dec ecx
cmp edx, dword [edi + 0x38]
jae 0x439988
mov eax, edx
sub eax, dword [edi + 0x40]
sar eax, 3
test ecx, ecx
lea esi, [eax + ecx]
cmovns esi, ecx
cmp esi, eax
jae 0x439976
mov ecx, dword [edi + 0x40]
lea eax, [edx + 8]
mov dword [edi + 0x44], eax
mov eax, dword [ecx + esi*8]
mov dword [edx], eax
mov eax, dword [ecx + esi*8 + 4]
mov dword [edx + 4], eax
mov eax, 0xfff8
cmp word [edx + 6], ax
jb 0x439000
mov eax, dword [edx]
inc dword [eax + 4]
mov eax, dword [edi + 0x44]
mov edx, dword [edi + 0x40]
sub eax, edx
mov esi, dword [esp + 0x44]
sar eax, 3
lea ecx, [eax + esi]
test esi, esi
js 0x439018
mov ecx, esi
cmp ecx, eax
jae 0x439023
lea eax, [edx + ecx*8]
test eax, eax
jne 0x439028
mov eax, 0x5ee574
mov ecx, 0xfff9
cmp word [eax + 6], cx
jne 0x43995f
mov edx, dword [eax]
test edx, edx
je 0x43995f
mov eax, dword [edi + 0x130]
mov ecx, edi
push 5
push dword [eax + 0xcc]
call fcn.00436c70
add esp, 8
mov edx, 2
lea ecx, [esp + 0x10]
call fcn.004556b0
sub eax, 0
je 0x4390b7
lea ecx, [esp + 0x10]
sub eax, 1
je 0x4390aa
sub eax, 1
je 0x43909b
mov edx, 7
call fcn.004556b0
test eax, eax
jne 0x439096
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.004556b0
jmp 0x4390b9
add eax, 0x24
jmp 0x4390b9
mov edx, 5
call fcn.004556b0
add eax, 5
jmp 0x4390b9
mov edx, 2
call fcn.004556b0
inc eax
jmp 0x4390b9
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], 0
test eax, eax
je 0x439554
nop dword [eax]
lea edx, [esp + 0x10]
mov ecx, edi
call fcn.004387c0
mov edx, 1
lea ecx, [esp + 0x10]
call fcn.004556b0
mov ecx, dword [esp + 0x20]
test eax, eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
je 0x439142
cmp ecx, 3
jge 0x439130
mov edi, dword [esp + 0x10]
shl edx, 8
mov dword [esp + 0x1c], edx
cmp esi, eax
jae 0x439120
movzx eax, byte [edi + esi]
or edx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], edx
inc esi
add ecx, 8
cmp ecx, 3
jl 0x439106
mov edi, dword [esp + 0x54]
mov dword [esp + 0x14], esi
add ecx, 0xfffffffd
mov dword [esp + 0x4c], edx
shr dword [esp + 0x4c], cl
and dword [esp + 0x4c], 7
jmp 0x43914a
mov dword [esp + 0x4c], 5
or dword [esp + 0x4c], 0x278
cmp ecx, 3
jge 0x43918a
mov edi, dword [esp + 0x10]
nop dword [eax + eax]
shl edx, 8
mov dword [esp + 0x1c], edx
cmp esi, eax
jae 0x43917a
movzx eax, byte [edi + esi]
or edx, eax
mov eax, dword [esp + 0x18]
mov dword [esp + 0x1c], edx
inc esi
add ecx, 8
cmp ecx, 3
jl case.default.0x439196
mov edi, dword [esp + 0x54]
mov dword [esp + 0x14], esi
add ecx, 0xfffffffd
shr edx, cl
mov dword [esp + 0x20], ecx
and edx, 7
jmp dword [edx*4 + 0x439a48]
lea edx, [esp + 0x10]
mov ecx, edi
call fcn.00438890
jmp 0x43952f
lea edx, [esp + 0x68]
lea ecx, [esp + 0x10]
call fcn.00455710
push eax
lea edx, [esp + 0x6c]
mov ecx, edi
call fcn.004140e0
add esp, 4
jmp 0x43952f
lea edx, [esp + 0x10]
mov ecx, edi
call fcn.004386e0
jmp 0x43952f
mov edx, 2
lea ecx, [esp + 0x10]
call fcn.004556b0
sub eax, 0
je 0x43923c
lea ecx, [esp + 0x10]
sub eax, 1
je 0x43922f
sub eax, 1
je 0x439220
mov edx, 7
call fcn.004556b0
test eax, eax
jne 0x43921b
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.004556b0
jmp 0x43923e
add eax, 0x24
jmp 0x43923e
mov edx, 5
call fcn.004556b0
add eax, 5
jmp 0x43923e
mov edx, 2
call fcn.004556b0
inc eax
jmp 0x43923e
xor eax, eax
mov ecx, dword [edi + 0x44]
cmp ecx, dword [edi + 0x38]
jae 0x439988
mov edx, ecx
sub edx, dword [edi + 0x40]
sar edx, 3
lea esi, [edx + eax]
test eax, eax
js 0x43925b
mov esi, eax
cmp esi, edx
jae 0x43999e
mov edx, dword [edi + 0x40]
lea eax, [ecx + 8]
mov dword [edi + 0x44], eax
mov eax, dword [edx + esi*8]
mov dword [ecx], eax
mov eax, dword [edx + esi*8 + 4]
mov dword [ecx + 4], eax
mov eax, 0xfff8
cmp word [ecx + 6], ax
jb 0x43952f
mov eax, dword [ecx]
inc dword [eax + 4]
jmp 0x43952f
push dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov ecx, edi
call fcn.004109d0
mov esi, dword [esp + 0x44]
add esp, 4
inc esi
mov dword [esp + 0x40], esi
cmp esi, dword [esp + 0x38]
jb 0x4390d0
mov edx, 2
lea ecx, [esp + 0x10]
call fcn.004556b0
sub eax, 0
je 0x4395b2
lea ecx, [esp + 0x10]
sub eax, 1
je 0x4395a5
sub eax, 1
je 0x439596
mov edx, 7
call fcn.004556b0
test eax, eax
jne 0x439591
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.004556b0
jmp 0x4395b4
add eax, 0x24
jmp 0x4395b4
mov edx, 5
call fcn.004556b0
add eax, 5
jmp 0x4395b4
mov edx, 2
call fcn.004556b0
inc eax
jmp 0x4395b4
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], 0
test eax, eax
je 0x439867
nop dword [eax + eax]
lea edx, [esp + 0x10]
mov ecx, edi
call fcn.004387c0
mov edx, 2
lea ecx, [esp + 0x10]
call fcn.004556b0
sub eax, 0
je 0x439649
lea ecx, [esp + 0x10]
sub eax, 1
je 0x439638
sub eax, 1
je 0x439625
mov edx, 7
call fcn.004556b0
test eax, eax
jne 0x43961c
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.004556b0
mov dword [esp + 0x38], eax
jmp 0x439651
add eax, 0x24
mov dword [esp + 0x38], eax
jmp 0x439651
mov edx, 5
call fcn.004556b0
add eax, 5
mov dword [esp + 0x38], eax
jmp 0x439651
mov edx, 2
call fcn.004556b0
inc eax
mov dword [esp + 0x38], eax
jmp 0x439651
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
cmp edx, 3
jge 0x439698
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
nop word [eax + eax]
shl esi, 8
mov dword [esp + 0x1c], esi
cmp ecx, dword [esp + 0x18]
jae 0x439688
movzx eax, byte [edi + ecx]
or esi, eax
inc ecx
mov dword [esp + 0x1c], esi
add edx, 8
cmp edx, 3
jl 0x439670
mov edi, dword [esp + 0x54]
mov dword [esp + 0x14], ecx
lea ecx, [edx - 3]
mov edx, 1
shr esi, cl
mov dword [esp + 0x20], ecx
and esi, 7
lea ecx, [esp + 0x10]
call fcn.004556b0
test eax, eax
je 0x4396c6
mov edx, 3
lea ecx, [esp + 0x10]
call fcn.004556b0
jmp 0x4396c8
mov eax, esi
cmp eax, 7
mov ecx, 0xffffffff
cmove eax, ecx
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x38]
lea edx, [ecx + 3]
lea ecx, [esp + 0x10]
mov eax, dword [eax*4 + 0x5ee970]
mov dword [esp + 0x40], eax
call fcn.004556b0
sub eax, 0
je 0x439752
lea ecx, [esp + 0x10]
sub eax, 1
je 0x439741
sub eax, 1
je 0x43972e
mov edx, 7
call fcn.004556b0
test eax, eax
jne 0x439725
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.004556b0
mov dword [esp + 0x38], eax
jmp 0x43975a
add eax, 0x24
mov dword [esp + 0x38], eax
jmp 0x43975a
mov edx, 5
call fcn.004556b0
add eax, 5
mov dword [esp + 0x38], eax
jmp 0x43975a
mov edx, 2
call fcn.004556b0
inc eax
mov dword [esp + 0x38], eax
jmp 0x43975a
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x40]
mov ecx, edi
push 5
push 0x18075280
push dword [esp + 0x58]
call fcn.00414b50
mov eax, dword [edi + 0x44]
add esp, 0xc
mov ecx, dword [eax - 8]
mov eax, dword [esp + 0x40]
cmp eax, 0x421ae0
je 0x4397a0
cmp eax, 0x420e00
je 0x4397a0
cmp eax, 0x420e00
je 0x4397a0
cmp eax, 0x420e00
je 0x4397a0
cmp eax, 0x420e00
jne 0x4397a6
or dword [ecx], 0x4000000
or dword [ecx], 0x10000
mov eax, dword [esp + 0x38]
mov word [ecx + 0x2e], ax
mov ecx, dword [edi + 0x44]
cmp ecx, dword [edi + 0x38]
jae 0x439a1d
movd xmm0, esi
lea eax, [ecx + 8]
cvtdq2pd xmm0, xmm0
shr esi, 0x1f
mov edx, 0xfffffffe
mov dword [edi + 0x44], eax
push 4
push 0x52
addsd xmm0, qword [esi*8 + 0x5f2070]
movsd qword [ecx], xmm0
mov ecx, edi
call fcn.00410890
mov ecx, dword [edi + 0x44]
add esp, 8
cmp ecx, dword [edi + 0x38]
jae 0x439988
mov edx, dword [edi + 0x40]
mov eax, ecx
sub eax, edx
sar eax, 3
lea esi, [eax - 2]
cmp esi, eax
jae 0x439a0a
lea eax, [ecx + 8]
mov dword [edi + 0x44], eax
mov eax, dword [edx + esi*8]
mov dword [ecx], eax
mov eax, dword [edx + esi*8 + 4]
mov dword [ecx + 4], eax
mov eax, 0xfff8
cmp word [ecx + 6], ax
jb 0x439834
mov eax, dword [ecx]
inc dword [eax + 4]
push 4
push 0x58
mov edx, 0xfffffffe
mov ecx, edi
call fcn.00410890
mov edx, dword [esp + 0x4c]
mov ecx, edi
push 5
call fcn.004107a0
mov esi, dword [esp + 0x54]
add esp, 0xc
inc esi
mov dword [esp + 0x48], esi
cmp esi, dword [esp + 0x3c]
jb 0x4395d0
mov ecx, dword [esp + 0x44]
inc ecx
mov dword [esp + 0x44], ecx
cmp ecx, 0x4c
jb 0x438d81
push 0x29
mov edx, 0x10
mov ecx, edi
call fcn.0040ff50
add esp, 4
mov edx, 0x10
mov ecx, edi
push 5
push 0x2b
call fcn.00410890
mov eax, dword [edi + 0x40]
mov ecx, str.ll_p_n_p1_a1_x86_windows_msvc
add esp, 8
mov eax, dword [eax + 0x128]
lea edx, [ecx + 1]
and dword [eax], 0xffffff7f
mov al, byte [ecx]
inc ecx
test al, al
jne 0x4398b4
sub ecx, edx
mov edx, str.ll_p_n_p1_a1_x86_windows_msvc
push ecx
mov ecx, edi
call fcn.004140e0
add esp, 4
mov edx, 0x22
mov ecx, edi
push 5
push 0x6a
call fcn.00410890
add esp, 8
xor esi, esi
test esi, esi
jns 0x4398eb
mov eax, dword [edi + 0x44]
jmp 0x4398ee
mov eax, dword [edi + 0x40]
lea edx, [eax + esi*8]
mov ecx, edi
mov edx, dword [edx]
call fcn.00434560
inc esi
cmp esi, 0x4c
jb 0x4398e2
xor edx, edx
mov ecx, edi
call fcn.004111f0
mov ecx, dword [esp + 0x16c]
pop edi
pop esi
xor ecx, esp
call fcn.005852a8
mov esp, ebp
pop ebp
ret
push str.cannot_push_beyond_allocated_stack
push 0x3001039
mov edx, 0x6059b0
mov ecx, edi
call fcn.0040d970
push str.alloc_failed
push 0x100009c
mov edx, str.duk_heap_memory.c
mov ecx, edi
call fcn.0040d970
push str.cannot_push_beyond_allocated_stack
push 0x3001094
mov edx, 0x605a20
mov ecx, edi
call fcn.0040d970
push 0x6057a8
push esi
push 0x852
mov edx, 0x6057b0
mov ecx, edi
call fcn.0040d990
push ecx
push 0x178
mov edx, 0x605594
mov ecx, edi
call fcn.0040d9d0
push str.cannot_push_beyond_allocated_stack
push 0x3000445
mov edx, 0x605614
mov ecx, edi
call fcn.0040d970
push eax
push 0x178
mov edx, 0x605594
mov ecx, edi
call fcn.0040d9d0
push str.cannot_push_beyond_allocated_stack
push 0x3001042
mov edx, 0x6059c0
mov ecx, edi
call fcn.0040d970
push str.cannot_push_beyond_allocated_stack
push 0x3001063
mov edx, 0x6059f0
mov ecx, edi
call fcn.0040d970
push str.cannot_push_beyond_allocated_stack
push 0x300106c
mov edx, 0x605a00
mov ecx, edi
call fcn.0040d970
push 0x605814
push 0xffffffffffffffff
push 0x8ab
mov edx, 0x605824
mov ecx, edi
call fcn.0040d990
push 0xfffffffffffffffe
push 0x178
mov edx, 0x605594
mov ecx, edi
call fcn.0040d9d0
push str.cannot_push_beyond_allocated_stack
push 0x30010b2
mov edx, 0x605a30
mov ecx, edi
call fcn.0040d970
push str.cannot_push_beyond_allocated_stack
push 0x30011fc
mov edx, 0x605af8
call fcn.0040d970
nop
popfd
xchg ecx, eax
inc ebx
add byte [ebp - 0x31ffbc6f], ch
xchg ecx, eax
inc ebx
add dh, bl
xchg ecx, eax
inc ebx
add byte [ecx - 0x57ffbc6e], dl
xchg edx, eax
inc ebx
add dh, al
xchg edx, eax
inc ebx
add ah, ah
xchg edx, eax
inc ebx
add ah, cl
int3