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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
mov eax, dword [0x6d9d44]
xor eax, esp
mov dword [esp + 0x88], eax
push ebx
push esi
push edi
mov ebx, ecx
mov dword [esp + 0x1c], ebx
mov eax, dword [ebp + 0x10]
mov dword [esp + 0x28], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x10], eax
push 8
pop eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x20], edx
and dword [esp + 0x20], eax
mov eax, edx
and eax, 0x10
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x54], eax
mov eax, edx
and eax, 0x20
mov edi, dword [ebp + 8]
mov dword [esp + 0x58], eax
mov eax, edx
and eax, 0x40
mov esi, dword [ebp + 0x18]
mov dword [esp + 0x44], eax
mov eax, edx
and eax, 0x80
mov dword [esp + 0x40], eax
mov eax, edx
and eax, 0x100
mov dword [esp + 0xc], ecx
mov dword [esp + 0x3c], eax
mov eax, edx
and eax, 1
mov dword [esp + 0x48], esi
mov dword [esp + 0x30], eax
mov eax, edx
and eax, 2
mov dword [esp + 0x38], eax
mov eax, edx
and eax, 4
and edx, 0x200
mov dword [esp + 0x5c], eax
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x2c], eax
xor eax, eax
and dword [esp + 0x60], eax
and dword [esp + 0x34], eax
test dword [edi], 0x400000
mov dword [esp + 0x24], edx
mov dword [esp + 0x7c], eax
mov dword [esp + 0x14], eax
je 0x431c26
mov eax, dword [ebx + 0x130]
cmp ecx, dword [eax + 0x15c]
jne 0x431c03
cmp dword [esp + 0x44], 0
je 0x431c26
mov eax, dword [edi + 0x28]
mov ecx, dword [esp + 0x28]
mov dword [esp + 0x34], eax
mov eax, dword [ebx + 0x40]
lea edx, [eax + ecx*8]
mov ecx, ebx
call fcn.00430652
mov edx, eax
mov dword [esp + 0x14], eax
mov ecx, ebx
call fcn.0041be56
mov edx, dword [esp + 0x28]
mov ecx, ebx
call fcn.0041a0cf
mov eax, dword [esp + 0x14]
cmp eax, dword [esp + 0x34]
jae 0x431c26
cmp dword [edi + 0x2c], 0
je 0x431be8
cmp dword [esp + 0x24], 0
je 0x43254d
cmp dword [esp + 0x20], 0
je 0x431c26
cmp dword [esp + 0x30], 0
jne 0x431c26
xor eax, eax
inc eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x60], eax
jmp 0x431c26
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xffffffff
je 0x431c26
cmp ecx, dword [edi + 0x28]
jb 0x431c26
cmp dword [edi + 0x2c], 0
je 0x431c1f
test edx, edx
je 0x43254d
lea eax, [ecx + 1]
mov dword [esp + 0x7c], eax
xor eax, eax
mov edx, edi
inc eax
mov ecx, ebx
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x34]
push dword [esp + 0x18]
call fcn.0042f947
add esp, 0x10
test eax, eax
jne 0x431e8c
test byte [edi], 0x80
jne 0x431c66
cmp dword [esp + 0x24], eax
jne 0x431c66
cmp dword [ebp + 0x1c], eax
jne 0x432568
xor eax, eax
jmp 0x431df9
cmp dword [esp + 0x3c], 0
jne 0x431e0e
cmp dword [esp + 0x40], 0
jne 0x431e0e
xor eax, eax
mov dword [esp + 0x10], eax
cmp dword [esp + 0x20], eax
je 0x431c96
cmp dword [esp + 0x30], eax
push 1
pop ecx
cmovne eax, ecx
mov dword [esp + 0x10], eax
cmp dword [esp + 0x54], 0
je 0x431cab
cmp dword [esp + 0x38], 0
je 0x431cab
or eax, 2
mov dword [esp + 0x10], eax
cmp dword [esp + 0x58], 0
je 0x431cc0
cmp dword [esp + 0x5c], 0
je 0x431cc0
or eax, 4
mov dword [esp + 0x10], eax
cmp dword [esp + 0x44], 0
je 0x431cdd
mov edx, dword [esp + 0x28]
mov ecx, ebx
call fcn.00419b5d
mov esi, dword [eax]
mov ecx, dword [eax + 4]
mov eax, dword [esp + 0x10]
jmp 0x431cef
mov esi, dword [esp + 0x48]
mov ecx, 0xfff3
mov word [esp + 0x4e], cx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x18], ecx
mov ecx, dword [esp + 0x2c]
cmp ecx, 0xffffffff
je 0x431d40
test dword [edi], 0x8000
je 0x431d40
cmp eax, 7
jne 0x431d37
mov edx, ecx
mov ecx, ebx
push edi
call fcn.0042f002
pop ecx
test eax, eax
je 0x431d40
mov ecx, dword [esp + 0x18]
mov dword [eax + 4], ecx
mov ecx, 0xfff8
mov dword [eax], esi
cmp word [eax + 6], cx
mov ecx, dword [esp + 0x14]
jb 0x431d81
mov eax, esi
inc dword [eax + 4]
jmp 0x431d81
mov edx, edi
mov ecx, ebx
call fcn.0042f495
push dword [esp + 0xc]
mov edx, edi
mov ecx, ebx
call fcn.0042f6c5
mov edx, eax
mov eax, dword [edi + 0x10]
pop ecx
mov ecx, dword [esp + 0x18]
mov dword [eax + edx*8 + 4], ecx
mov ecx, 0xfff8
mov dword [eax + edx*8], esi
cmp word [eax + edx*8 + 6], cx
jb 0x431d6f
mov eax, esi
inc dword [eax + 4]
mov ecx, dword [esp + 0x10]
imul eax, dword [edi + 0x18], 0xc
add eax, dword [edi + 0x10]
mov byte [eax + edx], cl
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0xc]
test dword [edi], 0x400000
je 0x43248f
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x431d9c
mov dword [edi + 0x28], eax
mov eax, dword [ebx + 0x130]
cmp esi, dword [eax + 0x15c]
jne 0x431de8
mov eax, dword [esp + 0x34]
cmp ecx, eax
jae 0x431de8
lea edx, [esp + 0x7c]
push edx
push dword [esp + 0x28]
mov edx, edi
push ecx
push eax
mov ecx, ebx
call fcn.004306dd
mov ecx, dword [esp + 0x8c]
add esp, 0x10
cmp dword [esp + 0x60], 0
mov dword [edi + 0x28], ecx
je 0x431de0
xor ecx, ecx
inc ecx
mov dword [edi + 0x2c], ecx
test eax, eax
je 0x43254d
mov ecx, dword [ebx + 0x2c]
cmp dword [ecx + 0x20], 0
je 0x431df6
call fcn.0042caa2
xor eax, eax
inc eax
mov ecx, dword [esp + 0x94]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.005c0db0
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x54], 0
push 8
pop eax
je 0x431e27
cmp dword [esp + 0x38], 0
push 0xa
pop ecx
cmovne eax, ecx
mov dword [esp + 0x18], eax
cmp dword [esp + 0x58], 0
je 0x431e3c
cmp dword [esp + 0x5c], 0
je 0x431e3c
or eax, 4
mov dword [esp + 0x18], eax
cmp dword [esp + 0x2c], 0xffffffff
je 0x431e54
test dword [edi], 0x8000
je 0x431e54
mov edx, edi
mov ecx, ebx
call fcn.0042f495
push dword [esp + 0xc]
mov edx, edi
mov ecx, ebx
call fcn.0042f6c5
pop ecx
mov ecx, dword [edi + 0x10]
mov edx, eax
mov eax, dword [esp + 0x10]
mov dword [ecx + edx*8], eax
mov ecx, dword [edi + 0x10]
mov dword [ecx + edx*8 + 4], esi
test eax, eax
je 0x431e7c
inc dword [eax + 4]
test esi, esi
je 0x431e83
inc dword [esi + 4]
mov ecx, dword [esp + 0x18]
jmp 0x431d73
cmp dword [esp + 0x54], 0
mov ecx, dword [esp + 0x64]
je 0x431ef8
cmp dword [esp + 0x38], 0
je 0x431ef3
test cl, 2
jne 0x431ef8
push 8
pop edx
mov esi, dword [esp + 0x10]
mov eax, ecx
and eax, 4
jne 0x431fcc
cmp dword [esp + 0x24], eax
jne 0x431fcc
cmp dword [esp + 0x58], eax
je 0x431ecf
cmp dword [esp + 0x5c], eax
jne 0x43254d
cmp dword [esp + 0x54], 0
je 0x431fcc
test cl, 2
je 0x431fc1
cmp dword [esp + 0x38], 0
je 0x43254d
jmp 0x431fcc
test cl, 2
jne 0x431ea3
cmp dword [esp + 0x58], 0
je 0x431f12
cmp dword [esp + 0x5c], 0
je 0x431f0d
test cl, 4
je 0x431ea3
jmp 0x431f12
test cl, 4
jne 0x431ea3
cmp dword [esp + 0x44], 0
je 0x431f55
test cl, 8
jne 0x431ea3
or edx, 0xffffffff
mov ecx, ebx
call fcn.00419b5d
mov edx, dword [esp + 0x28]
mov ecx, ebx
mov esi, eax
call fcn.00419b5d
xor ecx, ecx
mov edx, esi
inc ecx
push ecx
push eax
xor ecx, ecx
call fcn.00441560
pop ecx
pop ecx
mov ecx, dword [esp + 0x64]
test eax, eax
je 0x431ea3
mov esi, dword [esp + 0x48]
cmp dword [esp + 0x20], 0
push 8
pop edx
je 0x431f82
test dl, cl
jne 0x431ea6
cmp dword [esp + 0x30], 0
je 0x431f79
test cl, 1
je 0x431ea6
jmp 0x431f82
test cl, 1
jne 0x431ea6
cmp dword [esp + 0x3c], 0
je 0x431f9b
test dl, cl
je 0x431ea6
cmp esi, dword [esp + 0x6c]
jne 0x431ea6
cmp dword [esp + 0x40], 0
je 0x431de8
mov esi, dword [esp + 0x10]
test dl, cl
je 0x431eaa
cmp esi, dword [esp + 0x68]
je 0x431de8
jmp 0x431eaa
cmp dword [esp + 0x38], 0
jne 0x43254d
cmp dword [esp + 0x3c], 0
mov dword [esp + 0x18], 0xfff8
jne 0x43210c
cmp dword [esp + 0x40], 0
jne 0x43210c
mov esi, dword [esp + 0x44]
test esi, esi
jne 0x431ffc
cmp dword [esp + 0x20], esi
je 0x43221a
test dl, cl
je 0x432099
test eax, eax
jne 0x432012
cmp dword [esp + 0x24], eax
je 0x43254d
mov edx, dword [esp + 0x70]
test edx, edx
js 0x43254d
mov eax, dword [edi + 0x10]
mov ecx, dword [eax + edx*8]
and dword [eax + edx*8], 0
test ecx, ecx
je 0x43203b
sub dword [ecx + 4], 1
jne 0x43203b
push ecx
push ebx
call fcn.0042dc82
pop ecx
pop ecx
mov ecx, dword [edi + 0x10]
mov eax, dword [esp + 0x70]
mov edx, dword [ecx + eax*8 + 4]
and dword [ecx + eax*8 + 4], 0
test edx, edx
je 0x43205e
sub dword [edx + 4], 1
jne 0x43205e
push edx
push ebx
call fcn.0042dc82
pop ecx
pop ecx
mov ecx, dword [edi + 0x10]
mov edx, 0xfff3
mov eax, dword [esp + 0x70]
mov word [ecx + eax*8 + 6], dx
imul ecx, dword [edi + 0x18], 0xc
mov eax, dword [esp + 0x70]
add ecx, dword [edi + 0x10]
and byte [ecx + eax], 0xfe
imul ecx, dword [edi + 0x18], 0xc
mov eax, dword [esp + 0x70]
add ecx, dword [edi + 0x10]
and byte [ecx + eax], 0xf7
mov ecx, dword [esp + 0x64]
and ecx, 0xfffffff6
jmp 0x432216
test eax, eax
jne 0x43221a
xor edx, edx
inc edx
cmp dword [esp + 0x24], eax
jne 0x43221d
mov eax, ecx
and eax, edx
jne 0x4320c4
cmp dword [esp + 0x20], eax
je 0x4320c4
cmp dword [esp + 0x30], eax
jne 0x43254d
test eax, eax
jne 0x43221d
test esi, esi
je 0x43221d
or edx, 0xffffffff
mov ecx, ebx
call fcn.00419b5d
mov edx, dword [esp + 0x28]
mov ecx, ebx
mov esi, eax
call fcn.00419b5d
xor ecx, ecx
mov edx, esi
inc ecx
push ecx
push eax
xor ecx, ecx
call fcn.00441560
pop ecx
pop ecx
test eax, eax
je 0x43254d
mov ecx, dword [esp + 0x64]
jmp 0x43221a
test dl, cl
je 0x432150
test eax, eax
jne 0x43221a
cmp dword [esp + 0x24], eax
jne 0x43221a
cmp dword [esp + 0x3c], eax
je 0x432136
mov eax, dword [esp + 0x48]
cmp eax, dword [esp + 0x6c]
jne 0x43254d
cmp dword [esp + 0x40], 0
je 0x43221a
cmp esi, dword [esp + 0x68]
jne 0x43254d
jmp 0x43221a
test eax, eax
jne 0x43215e
cmp dword [esp + 0x24], eax
je 0x43254d
cmp dword [esp + 0x78], 0
jl 0x432192
mov edx, edi
mov ecx, ebx
call fcn.0042f495
mov ecx, ebx
call fcn.0041cd12
xor eax, eax
mov edx, edi
inc eax
mov ecx, ebx
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x34]
push dword [esp + 0x18]
call fcn.0042f947
add esp, 0x10
mov edx, dword [esp + 0x70]
test edx, edx
js 0x43254d
mov ecx, dword [edi + 0x10]
mov eax, dword [ecx + edx*8 + 4]
mov esi, dword [ecx + edx*8]
mov dword [esp + 0x84], eax
mov eax, 0xfff3
mov word [ecx + edx*8 + 6], ax
mov eax, dword [esp + 0x18]
cmp word [esp + 0x86], ax
jb 0x4321d6
sub dword [esi + 4], 1
jne 0x4321d6
mov edx, esi
mov ecx, ebx
call fcn.0042dbd7
mov ecx, dword [edi + 0x10]
mov eax, dword [esp + 0x70]
push 8
pop edx
and dword [ecx + eax*8], 0
mov ecx, dword [edi + 0x10]
mov eax, dword [esp + 0x70]
and dword [ecx + eax*8 + 4], 0
imul ecx, dword [edi + 0x18], 0xc
mov eax, dword [esp + 0x70]
add ecx, dword [edi + 0x10]
and byte [ecx + eax], 0xfe
imul ecx, dword [edi + 0x18], 0xc
mov eax, dword [esp + 0x70]
add ecx, dword [edi + 0x10]
or byte [ecx + eax], dl
mov ecx, dword [esp + 0x64]
and ecx, 0xfffffffe
or ecx, edx
mov dword [esp + 0x64], ecx
xor edx, edx
inc edx
cmp dword [esp + 0x54], 0
mov ebx, ecx
je 0x432235
cmp dword [esp + 0x38], 0
je 0x432232
or ebx, 2
jmp 0x432235
and ebx, 0xfffffffd
cmp dword [esp + 0x58], 0
je 0x43224b
cmp dword [esp + 0x5c], 0
je 0x432248
or ebx, 4
jmp 0x43224b
and ebx, 0xfffffffb
cmp dword [esp + 0x20], 0
je 0x432260
cmp dword [esp + 0x30], 0
je 0x43225d
or ebx, edx
jmp 0x432260
and ebx, 0xfffffffe
cmp dword [esp + 0x78], 0
jl 0x43232b
cmp ebx, 7
jne 0x4322f4
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
mov edx, dword [esp + 0x28]
call fcn.00419b5d
mov edx, dword [edi + 0x18]
mov esi, eax
imul ecx, dword [edi + 0x18], 0xd
neg edx
mov eax, dword [esp + 0x18]
and edx, 7
add edx, dword [edi + 0x10]
add edx, ecx
mov ecx, dword [esp + 0x78]
cmp word [esi + 6], ax
jb 0x4322ad
mov eax, dword [esi]
inc dword [eax + 4]
mov eax, dword [esp + 0x18]
cmp word [edx + ecx*8 + 6], ax
jb 0x4322e3
mov eax, dword [edx + ecx*8]
mov dword [esp + 0x48], eax
mov eax, dword [esi]
mov dword [edx + ecx*8], eax
mov eax, dword [esi + 4]
mov dword [edx + ecx*8 + 4], eax
mov eax, dword [esp + 0x48]
sub dword [eax + 4], 1
jne 0x431d7d
push eax
push ebx
call fcn.0042db88
pop ecx
pop ecx
jmp 0x431d7d
mov eax, dword [esi]
mov dword [edx + ecx*8], eax
mov eax, dword [esi + 4]
mov dword [edx + ecx*8 + 4], eax
jmp 0x431d7d
mov esi, dword [esp + 0x1c]
mov edx, edi
mov ecx, esi
call fcn.0042f495
mov ecx, esi
call fcn.0041cd12
xor eax, eax
mov edx, edi
inc eax
mov ecx, esi
push eax
lea eax, [esp + 0x68]
push eax
push dword [esp + 0x34]
push dword [esp + 0x18]
call fcn.0042f947
mov ecx, dword [esp + 0x74]
add esp, 0x10
jmp 0x43232f
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0x70]
test edx, edx
js 0x432347
imul eax, dword [edi + 0x18], 0xc
add eax, dword [edi + 0x10]
mov byte [eax + edx], bl
mov edx, dword [esp + 0x70]
jmp 0x43237d
mov eax, dword [esi + 0x130]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax + 0x15c]
mov esi, dword [esp + 0x1c]
jne 0x43237d
test dword [edi], 0x400000
je 0x43237d
xor ecx, ebx
test cl, 6
jne 0x43254b
xor ecx, ecx
not bl
movzx eax, bl
inc ecx
and eax, ecx
mov dword [edi + 0x2c], eax
cmp dword [esp + 0x3c], 0
je 0x4323b9
test edx, edx
js 0x432545
mov eax, dword [edi + 0x10]
mov ebx, dword [esp + 0x48]
mov ecx, dword [eax + edx*8 + 4]
mov dword [eax + edx*8 + 4], ebx
test ebx, ebx
je 0x4323a2
inc dword [ebx + 4]
test ecx, ecx
je 0x4323b5
sub dword [ecx + 4], 1
jne 0x4323b5
push ecx
push esi
call fcn.0042dc68
pop ecx
pop ecx
mov edx, dword [esp + 0x70]
cmp dword [esp + 0x40], 0
je 0x4323f3
test edx, edx
js 0x432545
mov eax, dword [edi + 0x10]
mov ebx, dword [esp + 0x10]
mov ecx, dword [eax + edx*8]
mov dword [eax + edx*8], ebx
test ebx, ebx
je 0x4323dc
inc dword [ebx + 4]
test ecx, ecx
je 0x4323ef
sub dword [ecx + 4], 1
jne 0x4323ef
push ecx
push esi
call fcn.0042dc68
pop ecx
pop ecx
mov edx, dword [esp + 0x70]
cmp dword [esp + 0x44], 0
mov ebx, dword [esp + 0x1c]
je 0x431d7d
test edx, edx
js 0x432461
mov edx, dword [esp + 0x28]
mov ecx, ebx
call fcn.00419b5d
mov edx, dword [edi + 0x10]
mov ecx, eax
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x70]
mov dword [esp + 0x48], ecx
cmp word [ecx + 6], ax
jb 0x432431
mov ecx, dword [ecx]
inc dword [ecx + 4]
mov ecx, dword [esp + 0x48]
cmp word [edx + esi*8 + 6], ax
jb 0x432450
mov eax, dword [edx + esi*8]
mov dword [esp + 0x48], eax
mov eax, dword [ecx]
mov dword [edx + esi*8], eax
mov eax, dword [ecx + 4]
mov dword [edx + esi*8 + 4], eax
jmp 0x4322c7
mov eax, dword [ecx]
mov dword [edx + esi*8], eax
mov eax, dword [ecx + 4]
mov dword [edx + esi*8 + 4], eax
jmp 0x431d7d
mov eax, dword [ebx + 0x130]
mov esi, dword [esp + 0xc]
cmp esi, dword [eax + 0x15c]
jne 0x43254d
test dword [edi], 0x400000
je 0x43254d
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x28], ecx
jmp 0x431d85
cmp dword [esp + 0x2c], 0xffffffff
je 0x431de8
test dword [edi], 0x1000000
je 0x431de8
and dword [esp + 0x34], 0
lea eax, [esp + 0x60]
and dword [esp + 0x60], 0
mov edx, edi
push eax
lea eax, [esp + 0x38]
mov ecx, ebx
push eax
lea eax, [esp + 0x6c]
push eax
push esi
call fcn.0042f7b7
add esp, 0x10
test eax, eax
je 0x431de8
cmp dword [esp + 0x3c], 0
jne 0x432530
cmp dword [esp + 0x40], 0
jne 0x432530
cmp dword [esp + 0x44], 0
je 0x43251a
or edx, 0xffffffff
mov ecx, ebx
call fcn.0041a6f6
mov edx, dword [esp + 0x28]
mov ecx, ebx
mov esi, eax
call fcn.00419b5d
mov edx, dword [esp + 0x60]
xor ecx, ecx
inc ecx
push ecx
push eax
push esi
push 0
mov ecx, ebx
call fcn.00442353
mov esi, dword [esp + 0x1c]
add esp, 0x10
cmp dword [esp + 0x20], 0
je 0x431de8
cmp dword [esp + 0x30], 0
jne 0x431de8
mov edx, dword [esp + 0x34]
mov ecx, ebx
push 0
push esi
call fcn.00431076
pop ecx
pop ecx
jmp 0x431de8
mov ebx, dword [esp + 0x1c]
jmp 0x43254d
mov ebx, esi
cmp dword [ebp + 0x1c], 0
je 0x431c5f
push str.not_configurable
push 0x600179e
mov edx, str.duk_hobject_props.c
jmp 0x432577
push str.not_extensible
push 0x6001796
mov edx, 0x6e2c4c
mov ecx, ebx
call fcn.00417121
int3