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

Disassembly:
mov ecx, dword [esp + 4]
sub esp, 0x34
mov eax, ecx
mov edx, dword [ecx + 0x74]
test edx, edx
push esi
cmovne eax, edx
push edi
mov edi, dword [esp + 0x44]
mov eax, dword [eax + 0x100]
test eax, eax
je 0x437839
mov esi, dword [esp + 0x4c]
cmp dword [eax], edi
jne 0x437832
cmp dword [eax + 0xc], esi
je 0x437b9a
mov eax, dword [eax + 4]
test eax, eax
jne 0x437825
mov esi, dword [ecx]
test edx, edx
push ebx
push ebp
mov ebp, ecx
mov dword [esp + 0x20], esi
cmovne ebp, edx
mov dword [esp + 0x1c], 0
mov dword [esp + 0x14], ebp
push 0
push 0x18
test esi, esi
je 0x437867
push esi
call fcn.00455fb0
add esp, 0xc
jmp 0x43786f
call fcn.00466e30
add esp, 8
mov ebx, eax
xor eax, eax
test ebx, ebx
je 0x437b98
mov dword [ebx], eax
mov dword [ebx + 4], eax
mov dword [ebx + 8], eax
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], eax
mov eax, dword [ebp + 0x100]
mov dword [ebx + 4], eax
mov dword [ebp + 0x100], ebx
push 0
push 0x1c
test esi, esi
je 0x4378ae
push esi
call fcn.00455fb0
add esp, 0xc
jmp 0x4378b6
call fcn.00466e30
add esp, 8
mov ebp, eax
xor eax, eax
test ebp, ebp
je 0x437b95
mov ecx, dword [esp + 0x14]
mov dword [ebp], eax
mov dword [ebp + 4], eax
mov dword [ebp + 8], eax
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], eax
mov dword [ebp + 0x14], eax
mov dword [ebp + 0x18], eax
mov dword [ebx + 8], ebp
mov ecx, dword [ecx + 8]
push 0
push 0x110
mov eax, dword [ecx + 0xd8]
mov dword [ebp + 0x18], eax
mov eax, dword [esp + 0x5c]
mov dword [ecx + 0xd8], ebp
mov dword [ebx], edi
mov dword [ebx + 0xc], eax
mov dword [ebx + 0x10], 0xffffffff
mov dword [ebx + 0x14], 0xffffffff
test esi, esi
je 0x43791d
push esi
call fcn.00455fb0
add esp, 0xc
jmp 0x437925
call fcn.00466e30
add esp, 8
mov edi, eax
test edi, edi
je 0x437b8b
push 0x70
lea eax, [edi + 4]
push 0
push eax
call fcn.004ac5e0
push 0x94
lea eax, [edi + 0x7c]
push 0
push eax
call fcn.004ac5e0
xor eax, eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x40], eax
add esp, 0x18
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x24], edi
mov dword [edi + 0x78], eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0x74], eax
mov eax, dword [esp + 0x4c]
mov dword [edi], esi
mov eax, dword [eax]
mov dword [edi + 0xf0], eax
mov eax, dword [esp + 0x4c]
movzx eax, byte [eax + 8]
mov byte [edi + 0x90], al
mov eax, dword [ecx + 0x84]
mov dword [edi + 0x84], eax
movzx eax, byte [ecx + 0x19]
mov byte [edi + 0x19], al
mov eax, dword [edi + 8]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x4379d2
push edi
call fcn.0047aac0
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je 0x437b71
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
test ecx, ecx
je 0x437a43
push ecx
push str.___TRIGGER__s
push esi
call fcn.00466e10
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x18], eax
mov ecx, dword [edx]
cmp byte [ecx + 0x53], 0
je 0x437a0b
test eax, eax
je 0x437a3f
push eax
push ecx
call fcn.00455ea0
add esp, 8
jmp 0x437a3f
mov eax, dword [edx + 0x6c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0x68]
lea ecx, [ecx - 5]
cmp byte [eax + ecx*4 + 1], 0
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x18]
je 0x437a34
push 0xfffffffffffffff9
push eax
push ecx
push edx
call fcn.00494b80
add esp, 0x10
jmp 0x437a3f
test eax, eax
je 0x437a3f
mov dword [ecx + 0x10], eax
mov byte [ecx + 1], 0xf9
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x437aa0
push 0
push 0
push ecx
push esi
call fcn.004308b0
push eax
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x38]
push eax
call fcn.0046f6a0
add esp, 0x18
test eax, eax
jne 0x437a8a
cmp byte [esi + 0x53], al
jne 0x437a8a
dec dword [edi + 0x38]
mov eax, dword [edi + 0x38]
push 0x10
push eax
push dword [esp + 0x20]
mov dword [esp + 0x28], eax
push edi
call fcn.0045b9f0
add esp, 0x10
mov eax, dword [esp + 0x18]
test eax, eax
je 0x437a9c
push eax
push esi
call fcn.0045b700
add esp, 8
mov eax, dword [esp + 0x4c]
push dword [esp + 0x54]
push dword [eax + 0x1c]
push edi
call fcn.00429e00
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x437ac5
push eax
push dword [esp + 0x14]
call fcn.004867c0
add esp, 8
push 0x44
push dword [esp + 0x14]
call fcn.0047a110
mov ecx, dword [esp + 0x50]
add esp, 8
mov eax, dword [edi + 4]
cmp dword [ecx + 0x24], 0
jne 0x437af1
mov dword [ecx + 4], eax
mov eax, dword [edi + 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [edi + 0xc]
mov dword [ecx + 0xc], eax
jmp 0x437b04
test eax, eax
je 0x437b04
push eax
push dword [edi]
call fcn.00455ea0
mov ecx, dword [esp + 0x50]
add esp, 8
cmp byte [esi + 0x53], 0
jne 0x437b40
cmp dword [ecx + 0x24], 0
jne 0x437b40
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add eax, 0x60
push eax
mov esi, dword [ecx + 0x68]
push ecx
call fcn.00446c40
mov ecx, dword [esp + 0x18]
add esp, 8
mov eax, dword [ecx + 0x6c]
mov dword [ebp + 4], eax
mov dword [ecx + 0x68], 0
mov dword [ebp], esi
mov esi, dword [esp + 0x20]
mov eax, dword [edi + 0x2c]
push dword [esp + 0x10]
mov dword [ebp + 8], eax
mov eax, dword [edi + 0x28]
mov dword [ebp + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [ebp + 0x14], eax
mov eax, dword [edi + 0x88]
mov dword [ebx + 0x10], eax
mov eax, dword [edi + 0x8c]
mov dword [ebx + 0x14], eax
call fcn.0047ab80
add esp, 4
push edi
call fcn.0046a020
push edi
push esi
call fcn.00455ea0
add esp, 0xc
mov eax, ebx
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x34
ret
pop ebp
pop ebx
pop edi
xor eax, eax
pop esi
add esp, 0x34
ret
mov dword [ebx + 8], ebp
pop ebp
pop ebx
pop edi
pop esi
add esp, 0x34
ret