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

Disassembly:
sub esp, 0x34
mov ecx, dword [esp + 0x38]
push ebx
push edi
mov ebx, dword [ecx + 0x74]
mov eax, ebx
mov dword [esp + 0xc], ebx
test ebx, ebx
jne 0x100251b8
mov eax, ecx
mov eax, dword [eax + 0x104]
mov edi, dword [esp + 0x44]
test eax, eax
je 0x100251e4
mov edx, dword [esp + 0x4c]
lea ebx, [ebx]
cmp dword [eax], edi
jne 0x100251dd
cmp dword [eax + 0xc], edx
je 0x10025536
mov eax, dword [eax + 4]
test eax, eax
jne 0x100251d0
test ebx, ebx
jne 0x100251ee
mov ebx, ecx
mov dword [esp + 0xc], ecx
push ebp
push esi
mov esi, dword [ecx]
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], 0
push 0
push 0x18
test esi, esi
je 0x10025211
push esi
call fcn.1003de20
add esp, 0xc
jmp 0x10025219
call fcn.1004d0c0
add esp, 8
mov ebp, eax
xor eax, eax
test ebp, ebp
je 0x10025534
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 eax, dword [ebx + 0x104]
mov dword [ebp + 4], eax
mov dword [ebx + 0x104], ebp
push 0
push 0x1c
test esi, esi
je 0x10025259
push esi
call fcn.1003de20
add esp, 0xc
jmp 0x10025261
call fcn.1004d0c0
add esp, 8
mov ebx, eax
test ebx, ebx
je 0x1002527d
xor eax, eax
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 dword [ebx + 0x18], eax
mov dword [ebp + 8], ebx
test ebx, ebx
je 0x10025532
mov ecx, dword [esp + 0x14]
push 0
push 0x114
mov ecx, dword [ecx + 8]
mov eax, dword [ecx + 0xd8]
mov dword [ebx + 0x18], eax
mov eax, dword [esp + 0x5c]
mov dword [ecx + 0xd8], ebx
mov dword [ebp], edi
mov dword [ebp + 0xc], eax
mov dword [ebp + 0x10], 0xffffffff
mov dword [ebp + 0x14], 0xffffffff
test esi, esi
je 0x100252cc
push esi
call fcn.1003de20
add esp, 0xc
jmp 0x100252d4
call fcn.1004d0c0
add esp, 8
mov edi, eax
test edi, edi
je 0x10025532
push 0x70
lea eax, [edi + 4]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x98
lea eax, [edi + 0x7c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ecx, dword [esp + 0x64]
xor eax, eax
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 edx, dword [edi + 8]
mov dword [edi + 0x78], eax
mov eax, dword [esp + 0x14]
mov dword [edi], esi
mov dword [edi + 0x74], eax
mov eax, dword [ecx]
mov dword [edi + 0xf0], eax
movzx eax, byte [ecx + 8]
mov ecx, dword [esp + 0x48]
mov byte [edi + 0x90], al
mov dword [esp + 0x10], edx
mov eax, dword [ecx + 0x84]
mov dword [edi + 0x84], eax
movzx eax, byte [ecx + 0x19]
mov byte [edi + 0x19], al
test edx, edx
jne 0x1002537f
push edi
call fcn.1005cd00
mov edx, eax
mov dword [esp + 0x14], eax
add esp, 4
test edx, edx
je 0x10025518
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax]
test ecx, ecx
je 0x100253ee
push ecx
push str.___TRIGGER__s
push esi
call fcn.1004d0a0
mov edx, dword [esp + 0x1c]
add esp, 0xc
mov dword [esp + 0x18], eax
mov ecx, dword [edx]
cmp byte [ecx + 0x51], 0
je 0x100253b6
push eax
push 0xfffffffffffffff9
push ecx
call fcn.10022f30
add esp, 0xc
jmp 0x100253ea
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 0x100253df
push 0xfffffffffffffff9
push eax
push ecx
push edx
call fcn.10072b40
add esp, 0x10
jmp 0x100253ea
test eax, eax
je 0x100253ea
mov dword [ecx + 0x10], eax
mov byte [ecx + 1], 0xf9
mov eax, dword [esp + 0x4c]
mov ecx, dword [eax + 0xc]
test ecx, ecx
je 0x1002544b
push 0
push 0
push ecx
push esi
call fcn.1001fcc0
push eax
mov dword [esp + 0x2c], eax
lea eax, [esp + 0x38]
push eax
call fcn.10054020
add esp, 0x18
test eax, eax
jne 0x10025435
cmp byte [esi + 0x51], al
jne 0x10025435
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.10042e70
add esp, 0x10
mov eax, dword [esp + 0x18]
test eax, eax
je 0x10025447
push eax
push esi
call fcn.10042b80
add esp, 8
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x54]
push edx
push dword [eax + 0x1c]
push edi
call fcn.1001a140
mov eax, dword [esp + 0x28]
add esp, 0xc
test eax, eax
je 0x10025471
push eax
push dword [esp + 0x14]
call fcn.100672a0
add esp, 8
push 0x45
push dword [esp + 0x14]
call fcn.1005c3e0
mov ecx, dword [esp + 0x50]
add esp, 8
mov eax, dword [edi + 4]
cmp dword [ecx + 0x24], 0
jne 0x1002549d
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 0x100254ac
push eax
push dword [edi]
call fcn.1003dd80
mov ecx, dword [esp + 0x50]
add esp, 8
cmp byte [esi + 0x51], 0
jne 0x100254e7
cmp dword [ecx + 0x24], 0
jne 0x100254e7
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
add eax, 0x60
push eax
mov esi, dword [ecx + 0x68]
push ecx
call fcn.100322d0
mov ecx, dword [esp + 0x18]
add esp, 8
mov eax, dword [ecx + 0x6c]
mov dword [ebx + 4], eax
mov dword [ecx + 0x68], 0
mov dword [ebx], esi
mov esi, dword [esp + 0x20]
mov eax, dword [edi + 0x2c]
push dword [esp + 0x10]
mov dword [ebx + 8], eax
mov eax, dword [edi + 0x28]
mov dword [ebx + 0xc], eax
mov eax, dword [esp + 0x50]
mov dword [ebx + 0x14], eax
mov eax, dword [edi + 0x88]
mov dword [ebp + 0x10], eax
mov eax, dword [edi + 0x8c]
mov dword [ebp + 0x14], eax
call fcn.1005cde0
add esp, 4
push edi
call fcn.1004fe20
push edi
push esi
call fcn.1003dd80
add esp, 0xc
mov eax, ebp
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x34
ret
xor eax, eax
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x34
ret