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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff0
sub esp, 0x168
mov eax, dword [0x6009e4]
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], 0x5ee028
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 0x43814b
cmp dword [edi + 0x3c], eax
jb 0x438141
mov dword [edi + 0x38], eax
jmp 0x43814b
push 1
call fcn.00410be0
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.00454e50
sub eax, 0
je 0x4381c6
lea ecx, [esp + 0x10]
sub eax, 1
je 0x4381b7
sub eax, 1
je 0x4381a8
mov edx, 7
call fcn.00454e50
test eax, eax
jne 0x4381a3
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.00454e50
mov esi, eax
mov dword [esp + 0x44], eax
jmp 0x4381cc
lea esi, [eax + 0x24]
jmp 0x4381c8
mov edx, 5
call fcn.00454e50
lea esi, [eax + 5]
jmp 0x4381c8
mov edx, 2
call fcn.00454e50
lea esi, [eax + 1]
jmp 0x4381c8
xor esi, esi
mov dword [esp + 0x44], esi
mov edx, 1
lea ecx, [esp + 0x10]
call fcn.00454e50
test eax, eax
je 0x4381f2
mov edx, 3
lea ecx, [esp + 0x10]
call fcn.00454e50
mov dword [esp + 0x38], eax
jmp 0x4381fa
mov dword [esp + 0x38], 0xffffffff
cmp esi, 3
jne 0x438392
lea edx, [esi - 1]
lea ecx, [esp + 0x10]
call fcn.00454e50
sub eax, 0
je 0x43825d
lea ecx, [esp + 0x10]
sub eax, 1
je 0x438250
sub eax, 1
je 0x438241
lea edx, [esi + 4]
call fcn.00454e50
test eax, eax
jne 0x43823c
lea edx, [esi + 0x11]
lea ecx, [esp + 0x10]
call fcn.00454e50
jmp 0x43825f
add eax, 0x24
jmp 0x43825f
mov edx, 5
call fcn.00454e50
add eax, 5
jmp 0x43825f
mov edx, 2
call fcn.00454e50
inc eax
jmp 0x43825f
xor eax, eax
mov eax, dword [eax*4 + 0x5ed970]
lea ecx, [esp + 0x10]
mov edx, 1
mov dword [esp + 0x40], eax
call fcn.00454e50
test eax, eax
je 0x43828c
mov edx, 3
lea ecx, [esp + 0x10]
call fcn.00454e50
jmp 0x438290
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.004142f0
add esp, 0xc
or eax, 0xffffffff
mov edx, eax
mov ecx, edi
call fcn.00411e30
lea edx, [esp + 0x10]
mov dword [esp + 0x50], eax
call fcn.00437f60
push 4
push 0x58
mov edx, 0xfffffffe
mov ecx, edi
call fcn.00410030
add esp, 8
lea ecx, [esp + 0x10]
mov edx, 1
call fcn.00454e50
test eax, eax
jne 0x4382f9
mov eax, dword [esp + 0x50]
and dword [eax], 0xfffffeff
mov edx, 2
lea ecx, [esp + 0x10]
call fcn.00454e50
sub eax, 0
je 0x438383
lea ecx, [esp + 0x10]
sub eax, 1
je 0x43836b
sub eax, 1
je 0x438351
mov edx, 7
call fcn.00454e50
test eax, eax
jne 0x438341
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.00454e50
mov ecx, dword [esp + 0x50]
mov word [ecx + 0x2e], ax
jmp 0x438489
mov ecx, dword [esp + 0x50]
add eax, 0x24
mov word [ecx + 0x2e], ax
jmp 0x438489
mov edx, 5
call fcn.00454e50
mov ecx, dword [esp + 0x50]
add eax, 5
mov word [ecx + 0x2e], ax
jmp 0x438489
mov edx, 2
call fcn.00454e50
mov ecx, dword [esp + 0x50]
inc eax
mov word [ecx + 0x2e], ax
jmp 0x438489
mov ecx, dword [esp + 0x50]
xor eax, eax
mov word [ecx + 0x2e], ax
jmp 0x438489
cmp esi, 2
jne 0x4383c8
mov ecx, edi
call fcn.004323e0
mov ecx, dword [edi + 0x84]
mov edx, eax
mov dword [edx + 0x14], ecx
test ecx, ecx
je 0x4383b0
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 0x438485
cmp esi, 0xf
jne 0x43845a
mov ecx, dword [edi + 0x2c]
lea edx, [esi + 0x21]
call fcn.004310c0
mov esi, eax
test esi, esi
je 0x4390d3
push 0x30
push 0
push esi
call fcn.005869c0
mov ecx, dword [edi + 0x2c]
add esp, 0xc
mov dword [esi], 0x78000081
mov eax, dword [ecx + 0x18]
test eax, eax
je 0x438406
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 0x4390bd
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 0x438445
inc dword [esi + 4]
xor edx, edx
mov ecx, edi
call fcn.00411e30
mov dword [esi + 0x28], eax
mov esi, dword [esp + 0x44]
inc dword [eax + 4]
jmp 0x438489
mov eax, dword [edi + 0x44]
mov ecx, edi
cmp eax, dword [edi + 0x38]
jae 0x4391d3
mov edx, 0x4080
call fcn.00432100
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.00411e30
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 0x4384bc
mov edx, dword [esp + 0x48]
mov dword [edx], eax
inc dword [eax + 4]
mov edx, dword [esp + 0x38]
test edx, edx
js 0x4384fd
mov ecx, dword [edi + 0x44]
cmp ecx, dword [edi + 0x38]
jae 0x4390e9
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.00410030
mov eax, dword [esp + 0x48]
add esp, 8
mov ecx, dword [esp + 0x3c]
cmp esi, 0xc
jne 0x438508
or dword [eax], 0x800000
add dword [esp + 0x48], 4
inc ecx
mov dword [esp + 0x3c], ecx
cmp ecx, 0x4c
jb 0x438160
xor ecx, ecx
mov dword [esp + 0x44], ecx
test ecx, ecx
jns 0x43852a
mov eax, dword [edi + 0x44]
jmp 0x43852d
mov eax, dword [edi + 0x40]
lea esi, [eax + ecx*8]
mov edx, 2
mov esi, dword [esi]
lea ecx, [esp + 0x10]
call fcn.00454e50
sub eax, 0
je 0x4385af
lea ecx, [esp + 0x10]
sub eax, 1
je 0x438585
sub eax, 1
je 0x438576
mov edx, 7
call fcn.00454e50
test eax, eax
jne 0x438571
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.00454e50
mov ecx, eax
jmp 0x438592
lea ecx, [eax + 0x24]
jmp 0x438592
mov edx, 5
call fcn.00454e50
lea ecx, [eax + 5]
jmp 0x438592
mov edx, 2
call fcn.00454e50
lea ecx, [eax + 1]
test ecx, ecx
je 0x4385af
sub ecx, 1
jns 0x4385a5
mov eax, dword [edi + 0x44]
lea ecx, [eax + ecx*8]
mov ecx, dword [ecx]
jmp 0x4385ba
mov eax, dword [edi + 0x40]
lea ecx, [eax + ecx*8]
mov ecx, dword [ecx]
jmp 0x4385ba
test dword [esi], 0x1000
je 0x4385db
mov ecx, dword [edi + 0x78]
mov eax, dword [esi + 0x14]
mov dword [esi + 0x14], ecx
test ecx, ecx
je 0x4385c7
inc dword [ecx + 4]
test eax, eax
je 0x4385db
add dword [eax + 4], 0xffffffff
jne 0x4385db
push eax
push edi
call fcn.00431940
add esp, 8
mov edx, 2
lea ecx, [esp + 0x10]
call fcn.00454e50
sub eax, 0
je 0x4386ea
lea ecx, [esp + 0x10]
sub eax, 1
je 0x438632
sub eax, 1
je 0x438623
mov edx, 7
call fcn.00454e50
test eax, eax
jne 0x43861e
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.00454e50
mov ecx, eax
jmp 0x43863f
lea ecx, [eax + 0x24]
jmp 0x43863f
mov edx, 5
call fcn.00454e50
lea ecx, [eax + 5]
jmp 0x43863f
mov edx, 2
call fcn.00454e50
lea ecx, [eax + 1]
test ecx, ecx
je 0x4386ea
mov edx, dword [edi + 0x44]
dec ecx
cmp edx, dword [edi + 0x38]
jae 0x439128
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 0x439116
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 0x438691
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 0x4386a9
mov ecx, esi
cmp ecx, eax
jae 0x4386b4
lea eax, [edx + ecx*8]
test eax, eax
jne 0x4386b9
mov eax, 0x5ed574
mov ecx, 0xfff9
cmp word [eax + 6], cx
jne 0x4390ff
mov edx, dword [eax]
test edx, edx
je 0x4390ff
mov eax, dword [edi + 0x130]
mov ecx, edi
push 0
push dword [eax + 0xc8]
call fcn.00436410
add esp, 8
mov edx, 2
lea ecx, [esp + 0x10]
call fcn.00454e50
sub eax, 0
je 0x4387f9
lea ecx, [esp + 0x10]
sub eax, 1
je 0x438741
sub eax, 1
je 0x438732
mov edx, 7
call fcn.00454e50
test eax, eax
jne 0x43872d
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.00454e50
mov ecx, eax
jmp 0x43874e
lea ecx, [eax + 0x24]
jmp 0x43874e
mov edx, 5
call fcn.00454e50
lea ecx, [eax + 5]
jmp 0x43874e
mov edx, 2
call fcn.00454e50
lea ecx, [eax + 1]
test ecx, ecx
je 0x4387f9
mov edx, dword [edi + 0x44]
dec ecx
cmp edx, dword [edi + 0x38]
jae 0x439128
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 0x439116
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 0x4387a0
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 0x4387b8
mov ecx, esi
cmp ecx, eax
jae 0x4387c3
lea eax, [edx + ecx*8]
test eax, eax
jne 0x4387c8
mov eax, 0x5ed574
mov ecx, 0xfff9
cmp word [eax + 6], cx
jne 0x4390ff
mov edx, dword [eax]
test edx, edx
je 0x4390ff
mov eax, dword [edi + 0x130]
mov ecx, edi
push 5
push dword [eax + 0xcc]
call fcn.00436410
add esp, 8
mov edx, 2
lea ecx, [esp + 0x10]
call fcn.00454e50
sub eax, 0
je 0x438857
lea ecx, [esp + 0x10]
sub eax, 1
je 0x43884a
sub eax, 1
je 0x43883b
mov edx, 7
call fcn.00454e50
test eax, eax
jne 0x438836
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.00454e50
jmp 0x438859
add eax, 0x24
jmp 0x438859
mov edx, 5
call fcn.00454e50
add eax, 5
jmp 0x438859
mov edx, 2
call fcn.00454e50
inc eax
jmp 0x438859
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], 0
test eax, eax
je 0x438cf4
nop dword [eax]
lea edx, [esp + 0x10]
mov ecx, edi
call fcn.00437f60
mov edx, 1
lea ecx, [esp + 0x10]
call fcn.00454e50
mov ecx, dword [esp + 0x20]
test eax, eax
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
je 0x4388e2
cmp ecx, 3
jge 0x4388d0
mov edi, dword [esp + 0x10]
shl edx, 8
mov dword [esp + 0x1c], edx
cmp esi, eax
jae 0x4388c0
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 0x4388a6
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 0x4388ea
mov dword [esp + 0x4c], 5
or dword [esp + 0x4c], 0x278
cmp ecx, 3
jge 0x43892a
mov edi, dword [esp + 0x10]
nop dword [eax + eax]
shl edx, 8
mov dword [esp + 0x1c], edx
cmp esi, eax
jae 0x43891a
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.0x438936
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 + 0x4391e8]
lea edx, [esp + 0x10]
mov ecx, edi
call fcn.00438030
jmp 0x438ccf
lea edx, [esp + 0x68]
lea ecx, [esp + 0x10]
call fcn.00454eb0
push eax
lea edx, [esp + 0x6c]
mov ecx, edi
call fcn.00413880
add esp, 4
jmp 0x438ccf
lea edx, [esp + 0x10]
mov ecx, edi
call fcn.00437e80
jmp 0x438ccf
mov edx, 2
lea ecx, [esp + 0x10]
call fcn.00454e50
sub eax, 0
je 0x4389dc
lea ecx, [esp + 0x10]
sub eax, 1
je 0x4389cf
sub eax, 1
je 0x4389c0
mov edx, 7
call fcn.00454e50
test eax, eax
jne 0x4389bb
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.00454e50
jmp 0x4389de
add eax, 0x24
jmp 0x4389de
mov edx, 5
call fcn.00454e50
add eax, 5
jmp 0x4389de
mov edx, 2
call fcn.00454e50
inc eax
jmp 0x4389de
xor eax, eax
mov ecx, dword [edi + 0x44]
cmp ecx, dword [edi + 0x38]
jae 0x439128
mov edx, ecx
sub edx, dword [edi + 0x40]
sar edx, 3
lea esi, [edx + eax]
test eax, eax
js 0x4389fb
mov esi, eax
cmp esi, edx
jae 0x43913e
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 0x438ccf
mov eax, dword [ecx]
inc dword [eax + 4]
jmp 0x438ccf
push dword [esp + 0x4c]
mov edx, dword [esp + 0x48]
mov ecx, edi
call fcn.00410170
mov esi, dword [esp + 0x44]
add esp, 4
inc esi
mov dword [esp + 0x40], esi
cmp esi, dword [esp + 0x38]
jb 0x438870
mov edx, 2
lea ecx, [esp + 0x10]
call fcn.00454e50
sub eax, 0
je 0x438d52
lea ecx, [esp + 0x10]
sub eax, 1
je 0x438d45
sub eax, 1
je 0x438d36
mov edx, 7
call fcn.00454e50
test eax, eax
jne 0x438d31
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.00454e50
jmp 0x438d54
add eax, 0x24
jmp 0x438d54
mov edx, 5
call fcn.00454e50
add eax, 5
jmp 0x438d54
mov edx, 2
call fcn.00454e50
inc eax
jmp 0x438d54
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x48], 0
test eax, eax
je 0x439007
nop dword [eax + eax]
lea edx, [esp + 0x10]
mov ecx, edi
call fcn.00437f60
mov edx, 2
lea ecx, [esp + 0x10]
call fcn.00454e50
sub eax, 0
je 0x438de9
lea ecx, [esp + 0x10]
sub eax, 1
je 0x438dd8
sub eax, 1
je 0x438dc5
mov edx, 7
call fcn.00454e50
test eax, eax
jne 0x438dbc
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.00454e50
mov dword [esp + 0x38], eax
jmp 0x438df1
add eax, 0x24
mov dword [esp + 0x38], eax
jmp 0x438df1
mov edx, 5
call fcn.00454e50
add eax, 5
mov dword [esp + 0x38], eax
jmp 0x438df1
mov edx, 2
call fcn.00454e50
inc eax
mov dword [esp + 0x38], eax
jmp 0x438df1
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
cmp edx, 3
jge 0x438e38
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 0x438e28
movzx eax, byte [edi + ecx]
or esi, eax
inc ecx
mov dword [esp + 0x1c], esi
add edx, 8
cmp edx, 3
jl 0x438e10
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.00454e50
test eax, eax
je 0x438e66
mov edx, 3
lea ecx, [esp + 0x10]
call fcn.00454e50
jmp 0x438e68
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 + 0x5ed970]
mov dword [esp + 0x40], eax
call fcn.00454e50
sub eax, 0
je 0x438ef2
lea ecx, [esp + 0x10]
sub eax, 1
je 0x438ee1
sub eax, 1
je 0x438ece
mov edx, 7
call fcn.00454e50
test eax, eax
jne 0x438ec5
lea edx, [eax + 0x14]
lea ecx, [esp + 0x10]
call fcn.00454e50
mov dword [esp + 0x38], eax
jmp 0x438efa
add eax, 0x24
mov dword [esp + 0x38], eax
jmp 0x438efa
mov edx, 5
call fcn.00454e50
add eax, 5
mov dword [esp + 0x38], eax
jmp 0x438efa
mov edx, 2
call fcn.00454e50
inc eax
mov dword [esp + 0x38], eax
jmp 0x438efa
mov dword [esp + 0x38], 0
mov edx, dword [esp + 0x40]
mov ecx, edi
push 5
push 0x18075280
push dword [esp + 0x58]
call fcn.004142f0
mov eax, dword [edi + 0x44]
add esp, 0xc
mov ecx, dword [eax - 8]
mov eax, dword [esp + 0x40]
cmp eax, 0x421280
je 0x438f40
cmp eax, 0x4205a0
je 0x438f40
cmp eax, 0x4205a0
je 0x438f40
cmp eax, 0x4205a0
je 0x438f40
cmp eax, 0x4205a0
jne 0x438f46
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 0x4391bd
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 + 0x5f1070]
movsd qword [ecx], xmm0
mov ecx, edi
call fcn.00410030
mov ecx, dword [edi + 0x44]
add esp, 8
cmp ecx, dword [edi + 0x38]
jae 0x439128
mov edx, dword [edi + 0x40]
mov eax, ecx
sub eax, edx
sar eax, 3
lea esi, [eax - 2]
cmp esi, eax
jae 0x4391aa
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 0x438fd4
mov eax, dword [ecx]
inc dword [eax + 4]
push 4
push 0x58
mov edx, 0xfffffffe
mov ecx, edi
call fcn.00410030
mov edx, dword [esp + 0x4c]
mov ecx, edi
push 5
call fcn.0040ff40
mov esi, dword [esp + 0x54]
add esp, 0xc
inc esi
mov dword [esp + 0x48], esi
cmp esi, dword [esp + 0x3c]
jb 0x438d70
mov ecx, dword [esp + 0x44]
inc ecx
mov dword [esp + 0x44], ecx
cmp ecx, 0x4c
jb 0x438521
push 0x29
mov edx, 0x10
mov ecx, edi
call fcn.0040f6f0
add esp, 4
mov edx, 0x10
mov ecx, edi
push 5
push 0x2b
call fcn.00410030
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 0x439054
sub ecx, edx
mov edx, str.ll_p_n_p1_a1_x86_windows_msvc
push ecx
mov ecx, edi
call fcn.00413880
add esp, 4
mov edx, 0x22
mov ecx, edi
push 5
push 0x6a
call fcn.00410030
add esp, 8
xor esi, esi
test esi, esi
jns 0x43908b
mov eax, dword [edi + 0x44]
jmp 0x43908e
mov eax, dword [edi + 0x40]
lea edx, [eax + esi*8]
mov ecx, edi
mov edx, dword [edx]
call fcn.00433d00
inc esi
cmp esi, 0x4c
jb 0x439082
xor edx, edx
mov ecx, edi
call fcn.00410990
mov ecx, dword [esp + 0x16c]
pop edi
pop esi
xor ecx, esp
call fcn.00584a28
mov esp, ebp
pop ebp
ret
push str.cannot_push_beyond_allocated_stack
push 0x3001039
mov edx, 0x604378
mov ecx, edi
call fcn.0040d110
push str.alloc_failed
push 0x100009c
mov edx, str.duk_heap_memory.c
mov ecx, edi
call fcn.0040d110
push str.cannot_push_beyond_allocated_stack
push 0x3001094
mov edx, 0x6043e8
mov ecx, edi
call fcn.0040d110
push 0x604170
push esi
push 0x852
mov edx, 0x604178
mov ecx, edi
call fcn.0040d130
push ecx
push 0x178
mov edx, 0x603f5c
mov ecx, edi
call fcn.0040d170
push str.cannot_push_beyond_allocated_stack
push 0x3000445
mov edx, 0x603fdc
mov ecx, edi
call fcn.0040d110
push eax
push 0x178
mov edx, 0x603f5c
mov ecx, edi
call fcn.0040d170
push str.cannot_push_beyond_allocated_stack
push 0x3001042
mov edx, 0x604388
mov ecx, edi
call fcn.0040d110
push str.cannot_push_beyond_allocated_stack
push 0x3001063
mov edx, 0x6043b8
mov ecx, edi
call fcn.0040d110
push str.cannot_push_beyond_allocated_stack
push 0x300106c
mov edx, 0x6043c8
pushal
add byte [eax + 0x6c], ch
adc byte [eax], al
add edi, dword [edx + 0x6043c8]
mov ecx, edi
call fcn.0040d110
push 0x6041dc
push 0xffffffffffffffff
push 0x8ab
mov edx, 0x6041ec
mov ecx, edi
call fcn.0040d130
push 0xfffffffffffffffe
push 0x178
mov edx, 0x603f5c
mov ecx, edi
call fcn.0040d170
push str.cannot_push_beyond_allocated_stack
push 0x30010b2
mov edx, 0x6043f8
mov ecx, edi
call fcn.0040d110
push str.cannot_push_beyond_allocated_stack
push 0x30011fc
mov edx, 0x6044c0
call fcn.0040d110
nop
cmp eax, 0x4d004389
mov dword [ebx], eax
outsb dx, byte [esi]
mov dword [ebx], eax
jle 0x43917f
inc ebx
add byte [ecx], dh
mov al, byte [ebx]
dec eax
mov al, byte [ebx]
mov al, byte [ebx]
test byte [edx - 0x3333ffbd], cl
int3