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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x34
or dword [esp + 0x30], 0xffffffff
push ebx
push esi
push edi
mov edi, ecx
mov ebx, edx
xor edx, edx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x38], edx
mov eax, dword [edi]
mov esi, dword [edi + 0x40]
mov dword [esp + 0x14], eax
test ebx, ebx
je 0x43f7c7
cmp ebx, 1
je 0x43f7c7
mov dword [esp + 0x34], 1
jmp 0x43f7d8
mov dword [esp + 0x34], edx
test ebx, ebx
je 0x43f7fa
mov dword [esp + 0x34], edx
cmp ebx, 1
je 0x43f7fa
cmp ebx, 2
je 0x43f7fa
mov edx, dword [ebp + 0xc]
cmp ebx, 3
je 0x43f7ee
mov ecx, eax
call fcn.00415d8b
mov edx, eax
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
jmp 0x43f920
mov eax, dword [ebp + 8]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x43f848
cmp dword [edi + 0x10], 0xffffff83
jne 0x43f848
cmp dword [edi + 0x20], 0x8c
jne 0x43f848
cmp dword [edi + 0x24], edx
jne 0x43f848
mov eax, dword [edi + 0x38]
lea ecx, [esp + 0x30]
xor edx, edx
mov dword [esp + 0x30], eax
inc edx
call fcn.0042ebbe
cmp eax, 0xa
je 0x43f848
mov ecx, edi
call fcn.0042df20
test eax, eax
jne 0x43ff5d
mov dword [esp + 0x10], 2
mov ecx, edi
call fcn.0042df20
test eax, eax
jne 0x43ff5d
mov eax, dword [edi + 0x10]
cmp eax, 0x2a
jne 0x43f87e
mov ecx, edi
call fcn.0042df20
test eax, eax
jne 0x43ff5d
mov ecx, dword [esp + 0x10]
mov eax, dword [edi + 0x10]
or ecx, 1
mov dword [esp + 0x10], ecx
jmp 0x43f882
mov ecx, dword [esp + 0x10]
cmp eax, 0xffffff83
jne 0x43f8b8
cmp dword [edi + 0x28], 0
jne 0x43f8ac
cmp dword [edi + 0x20], 0x31
jne 0x43f89d
cmp ebx, 2
jne 0x43f8f0
test cl, 1
jne 0x43f8ac
cmp dword [edi + 0x20], 0x32
jne 0x43f8f0
cmp ebx, 2
jne 0x43f8f0
test bl, cl
je 0x43f8f0
mov ecx, edi
call fcn.0042d768
jmp 0x43ff60
cmp eax, 0xffffffdd
jne 0x43f8e0
test byte [esi + 0x70], 1
je 0x43f8eb
cmp ebx, 2
je 0x43f91d
cmp dword [ebp + 0x18], 2
je 0x43f91d
push str.function_name_expected
push edi
call fcn.0042d6b4
pop ecx
pop ecx
jmp 0x43ff60
cmp eax, 0xffffffde
jne 0x43f8c3
cmp dword [edi + 0x44], 0
jne 0x43f8c3
cmp ebx, 2
jne 0x43f8c8
mov edx, dword [edi + 0x20]
mov ecx, dword [esp + 0x14]
call fcn.00415d8b
mov ecx, edi
mov dword [esp + 0x18], eax
call fcn.0042df20
mov edx, dword [esp + 0x18]
test eax, eax
je 0x43f924
mov ecx, dword [esp + 0x14]
call fcn.004168b1
jmp 0x43ff5d
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x18], edx
cmp dword [esi + 0x20], 0
je 0x43f966
cmp dword [esi + 0x24], 1
jne 0x43f966
test ebx, ebx
je 0x43f93d
cmp ebx, 1
jne 0x43fa3c
mov ecx, esi
call fcn.0042f12a
test eax, eax
je 0x43f966
mov eax, dword [eax + 8]
cmp eax, dword [esi + 0xc0]
jne 0x43f966
push str.invalid_redefinition_of_global_identifier_in_module_code
push edi
call fcn.0042d6b4
mov edx, dword [esp + 0x20]
pop ecx
pop ecx
jmp 0x43f90f
cmp ebx, 1
jne 0x43fa3c
mov ecx, dword [esp + 0x10]
test byte [esi + 0x70], bl
jne 0x43fa17
test ecx, ecx
jne 0x43fa17
push ecx
push dword [esi + 0xc4]
push edx
mov edx, esi
call fcn.0042f150
mov ebx, dword [esp + 0x24]
add esp, 0xc
test eax, eax
jns 0x43f9c5
push ebx
mov edx, esi
call fcn.0042f0f7
pop ecx
test eax, eax
js 0x43f9b2
test eax, 0x20000000
jne 0x43f9c5
cmp ebx, 0x52
jne 0x43f9bd
cmp dword [esi + 0x48], 0
jne 0x43f9c5
mov dword [esp + 0x38], 1
mov ecx, dword [esp + 0x10]
cmp dword [esi + 0x20], 0
je 0x43fa1d
cmp dword [esi + 0x24], 0
je 0x43f9db
cmp dword [esi + 0x24], 1
jne 0x43fa1d
mov eax, dword [esi + 0xc0]
cmp eax, dword [esi + 0xf4]
jne 0x43fa1d
mov edx, ebx
mov ecx, esi
call fcn.0042f12a
mov ecx, eax
test ecx, ecx
je 0x43fa3c
mov eax, dword [esi + 0xc0]
cmp dword [ecx + 8], eax
jne 0x43fa3c
push str.invalid_redefinition_of_global_identifier
push edi
call fcn.0042d6b4
pop ecx
pop ecx
mov edx, ebx
jmp 0x43f90f
mov ebx, dword [esp + 0x18]
jmp 0x43f9c9
xor eax, eax
mov edx, esi
test ecx, ecx
mov ecx, edi
setne al
add eax, 3
push eax
push ebx
call fcn.0042f60e
mov dword [esp + 0x44], eax
pop ecx
pop ecx
test eax, eax
js 0x43fa10
push dword [ebp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, esi
push dword [edi + 0xc]
push dword [esp + 0x3c]
push 0
call fcn.00439edc
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x43fa62
mov ebx, dword [esp + 0x18]
jmp 0x43fa10
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x43fa6b
mov dword [eax], ebx
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x18]
mov dword [edi + 0x40], ebx
mov dword [ebx + 0x74], eax
test edx, edx
je 0x43fa87
cmp edx, 1
je 0x43fa87
cmp edx, 2
jne 0x43fa93
cmp dword [esp + 0x10], 0
jne 0x43fa93
xor eax, eax
inc eax
jmp 0x43fa95
xor eax, eax
mov dword [ebx + 0x34], eax
cmp edx, 6
je 0x43fab5
cmp edx, 4
je 0x43fab5
cmp edx, 5
je 0x43fab5
cmp edx, 7
je 0x43fab5
cmp edx, 8
je 0x43fab5
xor ecx, ecx
jmp 0x43fab8
xor ecx, ecx
inc ecx
xor eax, eax
mov dword [ebx + 0x30], ecx
cmp edx, 3
setne al
mov dword [ebx + 0x48], eax
mov dword [ebx + 0x4c], eax
xor eax, eax
cmp edx, 8
sete al
mov dword [ebx + 0x60], eax
cmp edx, 3
jne 0x43faf3
mov ecx, dword [ebx + 4]
mov eax, dword [ecx + 0x50]
mov dword [ebx + 0x50], eax
mov eax, dword [ecx + 0x54]
mov dword [ebx + 0x54], eax
mov eax, dword [ecx + 0x58]
mov dword [ebx + 0x58], eax
mov eax, dword [ecx + 0x5c]
jmp 0x43fb03
mov dword [ebx + 0x54], eax
xor eax, eax
mov dword [ebx + 0x50], 1
inc eax
mov dword [ebx + 0x58], ecx
mov dword [ebx + 0x5c], eax
mov eax, dword [esp + 0x10]
mov byte [ebx + 0x6c], al
mov byte [ebx + 0x6d], dl
cmp edx, 7
je 0x43fb1a
cmp edx, 8
jne 0x43fb37
mov dl, 0x2b
mov ecx, edi
call fcn.0042ee57
mov edx, dword [esp + 0x28]
cmp edx, 7
jne 0x43fb37
mov ecx, edi
call fcn.004306dc
mov edx, dword [esp + 0x28]
xor eax, eax
mov dword [ebx + 0x38], 1
mov dword [ebx + 0x3c], eax
lea esi, [edi + 0x10]
mov dword [esp + 0x20], eax
push 0x28
pop ecx
cmp edx, 3
jne 0x43fba8
cmp dword [esi], 0xffffff83
mov dword [esp + 0x1c], esi
jne 0x43fba8
cmp dword [edi + 0x28], eax
jne 0x43ff3b
push dword [edi + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, ebx
call fcn.0042f50d
pop ecx
test eax, eax
js 0x43ff42
mov esi, dword [esp + 0x28]
mov dword [ebx + 0x90], 1
cmp dword [ebx + 0x3c], 0
je 0x44007b
mov ecx, dword [ebx + 0xc0]
mov eax, dword [ebx + 0xd0]
mov eax, dword [eax + ecx*8 + 4]
jmp 0x440046
mov dword [esp + 0x1c], esi
cmp dword [esi], ecx
jne 0x43fbd4
push eax
lea edx, [esp + 0x34]
mov ecx, edi
call fcn.0043000d
test byte [esp + 0x34], 4
pop ecx
je 0x43fbcb
mov dword [ebx + 0x3c], 1
mov ecx, edi
call fcn.0042df20
jmp 0x43fbdd
mov edx, ecx
mov ecx, edi
call fcn.0042d714
test eax, eax
jne 0x43ff42
cmp dword [ebx + 0x3c], eax
je 0x43ff11
or dword [ebx + 0xc0], 0xffffffff
mov ecx, edi
call fcn.0042f1b1
test eax, eax
js 0x43ff5d
jmp 0x43ff11
xor ecx, ecx
mov dword [esp + 0x30], ecx
cmp eax, 0xffffffa7
jne 0x43fc32
and dword [ebx + 0x38], ecx
mov ecx, edi
mov dword [esp + 0x30], 1
call fcn.0042df20
test eax, eax
jne 0x43ff42
mov ecx, dword [esp + 0x30]
cmp dword [esi], 0x5b
je 0x43fe6c
cmp dword [esi], 0x7b
je 0x43fe6c
cmp dword [esi], 0xffffff83
jne 0x43ff67
cmp dword [edi + 0x28], 0
jne 0x43ff3b
mov eax, dword [edi + 0x20]
mov dword [esp + 0x24], eax
cmp eax, 0x31
jne 0x43fc6d
cmp byte [ebx + 0x6c], 1
je 0x43ff3b
cmp dword [ebx + 0x3c], 0
je 0x43fc8d
push 1
push eax
mov edx, ebx
mov ecx, edi
call fcn.0042f60e
pop ecx
pop ecx
test eax, eax
js 0x43ff42
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
mov edx, ebx
push eax
call fcn.0042f50d
mov dword [esp + 0x30], eax
pop ecx
test eax, eax
js 0x43ff42
mov ecx, edi
call fcn.0042df20
test eax, eax
jne 0x43ff42
cmp dword [esp + 0x30], eax
je 0x43fd2b
mov dl, 0xd
mov ecx, edi
call fcn.0042ee57
mov ecx, dword [esp + 0x2c]
movzx edx, cx
mov ecx, edi
call fcn.0042ee1a
cmp dword [ebx + 0x3c], 0
je 0x43fd03
mov dl, 0x11
mov ecx, edi
call fcn.0042ee57
mov dl, 0xc0
mov ecx, edi
call fcn.0042ee57
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.0042eec7
mov dx, word [ebx + 0xc0]
mov ecx, edi
call fcn.0042ee1a
mov dl, 0x5c
mov ecx, edi
call fcn.0042ee57
mov eax, dword [esp + 0x2c]
mov ecx, edi
movzx edx, ax
call fcn.0042ee1a
and dword [ebx + 0x38], 0
mov dword [esp + 0x20], 1
jmp 0x43fef9
cmp dword [esi], 0x3d
jne 0x43fe1a
and dword [ebx + 0x38], 0
mov ecx, edi
mov dword [esp + 0x20], 1
call fcn.0042df20
test eax, eax
jne 0x43ff42
mov ecx, dword [edi + 0x40]
or edx, 0xffffffff
call fcn.0042eedb
mov dl, 0x5b
mov dword [esp + 0x30], eax
mov ecx, edi
call fcn.0042ee57
mov eax, dword [esp + 0x2c]
mov ecx, edi
movzx eax, ax
mov edx, eax
mov dword [esp + 0x2c], eax
call fcn.0042ee1a
mov dl, 0x11
mov ecx, edi
call fcn.0042ee57
mov dl, 6
mov ecx, edi
call fcn.0042ee57
mov dl, 0xab
mov ecx, edi
call fcn.0042ee57
push dword [esp + 0x30]
mov ecx, edi
push 0x69
pop edx
call fcn.0042ef83
pop ecx
mov dl, 0xe
mov ecx, edi
call fcn.0042ee57
xor edx, edx
mov ecx, edi
inc edx
call fcn.004358f0
test eax, eax
jne 0x43ff42
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.004302e5
mov dl, 0x11
mov ecx, edi
call fcn.0042ee57
mov dl, 0x5c
mov ecx, edi
call fcn.0042ee57
mov edx, dword [esp + 0x2c]
mov ecx, edi
call fcn.0042ee1a
mov edx, dword [esp + 0x30]
mov ecx, edi
call fcn.0042ef3f
mov dl, 0xc0
mov ecx, edi
call fcn.0042ee57
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.0042eec7
mov dx, word [ebx + 0xc0]
mov ecx, edi
call fcn.0042ee1a
jmp 0x43fefe
cmp dword [esp + 0x20], 0
jne 0x43fe27
inc dword [ebx + 0x90]
cmp dword [ebx + 0x3c], 0
je 0x43fefe
mov dl, 0x5b
mov ecx, edi
call fcn.0042ee57
mov edx, dword [esp + 0x2c]
mov ecx, edi
call fcn.0042ee1a
mov dl, 0xc0
mov ecx, edi
call fcn.0042ee57
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.0042eec7
mov dx, word [ebx + 0xc0]
mov ecx, edi
call fcn.0042ee1a
jmp 0x43fef2
and dword [ebx + 0x38], 0
test ecx, ecx
je 0x43fe86
mov dl, 0xd
mov ecx, edi
call fcn.0042ee57
movzx edx, word [ebx + 0x8c]
jmp 0x43fea6
mov ecx, dword [esp + 0x14]
mov edx, ebx
push 0
call fcn.0042f50d
pop ecx
mov dl, 0x5b
mov ecx, edi
mov esi, eax
call fcn.0042ee57
movzx edx, si
mov esi, dword [esp + 0x1c]
mov ecx, edi
call fcn.0042ee1a
cmp dword [ebx + 0x3c], 0
mov ecx, edi
push 1
push 0xffffffffffffffff
push 1
push 1
push 0xffffffffffffffb3
pop edx
push 0xffffffffffffffd7
pop eax
cmovne edx, eax
call fcn.00432053
add esp, 0x10
test eax, eax
js 0x43ff42
je 0x43fedc
mov dword [esp + 0x20], 1
jmp 0x43fef2
mov eax, dword [esp + 0x20]
mov dword [esp + 0x20], eax
test eax, eax
jne 0x43fef2
inc dword [ebx + 0x90]
mov dword [esp + 0x20], eax
cmp dword [esp + 0x30], 0
je 0x43fefe
cmp dword [esi], 0x29
jne 0x43ff76
cmp dword [esi], 0x29
je 0x43ff1c
push 0x2c
pop edx
mov ecx, edi
call fcn.0042d714
test eax, eax
jne 0x43ff42
mov eax, dword [esi]
cmp eax, 0x29
jne 0x43fc09
mov esi, dword [esp + 0x28]
cmp esi, 4
jne 0x43ff82
cmp dword [ebx + 0x8c], 0
jne 0x43ffa0
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
jmp 0x43fb89
mov ecx, edi
call fcn.0042d768
mov eax, dword [ebx + 4]
mov edx, ebx
mov ecx, dword [esp + 0x14]
mov dword [edi + 0x40], eax
call fcn.0043a09d
mov eax, dword [ebp + 0x1c]
test eax, eax
je 0x43ff5d
and dword [eax], 0
or eax, 0xffffffff
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.missing_formal_parameter
push edi
call fcn.0042d6b4
pop ecx
pop ecx
jmp 0x43ff42
push 0x29
pop edx
mov ecx, edi
call fcn.0042d714
jmp 0x43ff42
cmp esi, 5
jne 0x43fb89
cmp dword [ebx + 0x8c], 1
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x1c], eax
je 0x43fb89
push str.invalid_number_of_arguments_for_getter_or_setter
jmp 0x43ff6c
mov ecx, dword [ebx + 0x78]
imul eax, eax, 0x14
add ecx, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x30], ecx
mov eax, dword [ecx + 4]
cmp eax, dword [ebx + 0xc0]
jne 0x44004e
mov eax, dword [ecx]
mov edx, ebx
push eax
mov dword [esp + 0x30], eax
call fcn.0042f0f7
pop ecx
test eax, eax
jns 0x44003f
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x18]
mov edx, ebx
call fcn.0042f336
pop ecx
test eax, eax
js 0x43ff42
mov eax, dword [ebx + 0x78]
mov dl, 0xbb
add eax, dword [esp + 0x28]
mov ecx, edi
mov dword [esp + 0x30], eax
call fcn.0042ee57
mov edx, dword [esp + 0x30]
mov ecx, edi
mov edx, dword [edx]
call fcn.0042eec7
mov dx, word [ebx + 0xc0]
mov ecx, edi
call fcn.0042ee1a
mov dl, 0xbc
mov ecx, edi
call fcn.0042ee57
mov eax, dword [esp + 0x30]
mov ecx, edi
mov edx, dword [eax]
call fcn.0042eec7
xor edx, edx
mov ecx, edi
call fcn.0042ee1a
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 8]
test eax, eax
jns 0x43ffa7
mov dl, 0xb8
mov ecx, edi
call fcn.0042ee57
mov dx, word [ebx + 0xc0]
mov ecx, edi
call fcn.0042ee1a
mov eax, dword [ebx + 0xd0]
and dword [ebx + 0xc0], 0
mov eax, dword [eax + 4]
mov dword [ebx + 0xc4], eax
mov ecx, edi
call fcn.0042df20
test eax, eax
jne 0x43ff42
mov eax, dword [esp + 0x10]
cmp eax, 1
je 0x440098
cmp eax, 3
jne 0x4400a1
mov dl, 0x87
mov ecx, edi
call fcn.0042ee57
mov ecx, edi
mov dword [ebx + 0x64], 1
call fcn.0042f1b1
mov eax, dword [ebx + 0xc0]
mov dword [ebx + 0xf4], eax
mov eax, dword [esp + 0x1c]
cmp dword [eax], 0xffffffa6
jne 0x440155
mov ecx, edi
call fcn.0042df20
test eax, eax
jne 0x43ff42
mov eax, dword [esp + 0x1c]
cmp dword [eax], 0x7b
je 0x440155
push dword [esp + 0x18]
mov edx, ebx
mov ecx, edi
call fcn.0043f68c
pop ecx
test eax, eax
jne 0x43ff42
xor edx, edx
mov ecx, edi
inc edx
call fcn.004358f0
test eax, eax
jne 0x43ff42
cmp dword [esp + 0x10], 0
push 0x2e
pop eax
push 0x28
pop ecx
cmove eax, ecx
mov ecx, edi
mov dl, al
call fcn.0042ee57
test byte [ebx + 0x70], 2
jne 0x4401ee
mov eax, dword [edi + 0x34]
mov edx, dword [ebp + 0x10]
sub eax, edx
mov ecx, dword [esp + 0x14]
push eax
mov dword [ebx + 0x194], eax
call fcn.00414eeb
mov dword [ebx + 0x190], eax
pop ecx
test eax, eax
je 0x43ff42
jmp 0x4401ee
push 0x7b
pop edx
mov ecx, edi
call fcn.0042d714
test eax, eax
jne 0x43ff42
mov ecx, edi
call fcn.0043f453
test eax, eax
jne 0x43ff42
push dword [esp + 0x18]
mov edx, ebx
mov ecx, edi
call fcn.0043f68c
pop ecx
jmp 0x44018d
mov ecx, edi
call fcn.00439e18
test eax, eax
jne 0x43ff42
mov eax, dword [esp + 0x1c]
cmp dword [eax], 0x7d
jne 0x440186
test byte [ebx + 0x70], 2
jne 0x4401cb
mov eax, dword [edi + 0x38]
mov edx, dword [ebp + 0x10]
sub eax, edx
mov ecx, dword [esp + 0x14]
push eax
mov dword [ebx + 0x194], eax
call fcn.00414eeb
mov dword [ebx + 0x190], eax
pop ecx
test eax, eax
je 0x43ff42
mov ecx, edi
call fcn.0042df20
test eax, eax
jne 0x43ff42
mov ecx, edi
call fcn.0042edb2
test eax, eax
je 0x4401ee
xor edx, edx
mov ecx, edi
call fcn.004360aa
mov eax, dword [ebx + 4]
mov ecx, edi
mov dword [edi + 0x40], eax
mov eax, dword [ebx + 0x74]
push 0x30000
push 0
mov dword [esp + 0x28], eax
call fcn.0042efd7
cmp dword [esp + 0x3c], 0
pop ecx
pop ecx
mov dword [esp + 0x28], eax
mov dword [ebx + 8], eax
je 0x440261
cmp esi, 7
je 0x44041b
cmp esi, 8
je 0x44041b
mov dl, 3
mov ecx, edi
call fcn.0042ee57
mov edx, dword [esp + 0x28]
mov ecx, edi
call fcn.0042ee3a
cmp dword [esp + 0x20], 0
jne 0x44041b
mov dl, 0x4d
mov ecx, edi
call fcn.0042ee57
xor edx, edx
mov ecx, edi
call fcn.0042ee3a
jmp 0x44041b
cmp esi, 1
jne 0x440358
mov dl, 3
mov ecx, edi
call fcn.0042ee57
mov edx, dword [esp + 0x28]
mov ecx, edi
call fcn.0042ee3a
cmp dword [esp + 0x38], 0
mov esi, dword [esp + 0x20]
je 0x440300
mov eax, dword [edi + 0x40]
mov edx, eax
push esi
cmp dword [eax + 0x28], 0
je 0x4402bc
mov ecx, dword [esp + 0x18]
call fcn.0042f59d
pop ecx
test eax, eax
je 0x43ff42
and dword [eax + 8], 0
mov ecx, dword [edi + 0x40]
mov cl, byte [ecx + 0x70]
xor cl, byte [eax + 4]
and cl, 1
xor byte [eax + 4], cl
jmp 0x4402dc
call fcn.0042f0f7
pop ecx
test eax, eax
jns 0x4402dc
mov edx, dword [edi + 0x40]
mov ecx, dword [esp + 0x14]
push esi
call fcn.0042f336
pop ecx
test eax, eax
js 0x43ff42
mov dl, 0x11
mov ecx, edi
call fcn.0042ee57
mov dl, 0xbc
mov ecx, edi
call fcn.0042ee57
mov edx, esi
mov ecx, edi
call fcn.0042eec7
xor edx, edx
mov ecx, edi
call fcn.0042ee1a
mov ecx, dword [esp + 0x3c]
test ecx, ecx
js 0x440330
mov eax, dword [edi + 0x40]
mov dl, 0xe
imul esi, ecx, 0x14
mov ecx, dword [eax + 0x78]
mov eax, dword [ecx + esi + 0x10]
xor eax, dword [esp + 0x28]
and eax, 0xffffff
xor dword [ecx + esi + 0x10], eax
mov ecx, edi
call fcn.0042ee57
jmp 0x44041b
mov dl, 0xc0
mov ecx, edi
call fcn.0042ee57
mov edx, esi
mov ecx, edi
call fcn.0042eec7
mov eax, dword [edi + 0x40]
mov ecx, edi
mov dx, word [eax + 0xc0]
call fcn.0042ee1a
jmp 0x44041b
mov edx, dword [edi + 0x40]
cmp dword [edx + 0x28], 0
jne 0x4403c0
push 6
push dword [esp + 0x24]
mov ecx, edi
call fcn.0042f60e
pop ecx
pop ecx
test eax, eax
js 0x43ff42
mov edx, dword [esp + 0x28]
mov ecx, dword [edi + 0x40]
and edx, 0xffffff
imul esi, eax, 0x14
test eax, 0x20000000
je 0x4403ac
mov ecx, dword [ecx + 0x84]
mov eax, dword [ecx + esi - 0x7ffffff0]
and eax, 0xff000000
or eax, edx
mov dword [ecx + esi - 0x7ffffff0], eax
jmp 0x44041b
mov ecx, dword [ecx + 0x78]
mov eax, dword [ecx + esi + 0x10]
and eax, 0xff000000
or eax, edx
mov dword [ecx + esi + 0x10], eax
jmp 0x44041b
mov esi, dword [esp + 0x20]
mov eax, 0x83
mov ecx, dword [esp + 0x14]
test esi, esi
cmove esi, eax
push esi
call fcn.0042f59d
pop ecx
mov ecx, eax
test ecx, ecx
je 0x43ff42
mov edx, dword [ebp + 0x18]
mov eax, dword [esp + 0x28]
mov dword [ecx], eax
test edx, edx
je 0x44041b
mov eax, dword [edi + 0x40]
cmp edx, 1
push 0
push 0x16
mov edx, edi
mov ecx, dword [eax + 0x198]
pop eax
cmove eax, esi
push eax
push esi
push ecx
mov ecx, dword [edi]
call fcn.00438004
add esp, 0x10
test eax, eax
je 0x43ff42
xor eax, eax
jmp 0x43ff60