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

Disassembly:
sub esp, 0x8c
push ebx
push ebp
mov ebp, dword [esp + 0x98]
push esi
push edi
mov edi, dword [esp + 0xa8]
mov esi, dword [ebp + 8]
mov eax, dword [ebp]
xor ecx, ecx
mov dword [esp + 0x20], esi
cmp esi, ecx
mov dword [esp + 0x1c], edi
mov dword [esp + 0x34], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x24], eax
jne 0x10096915
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c
ret
mov ebx, dword [esp + 0xa4]
cmp ebx, ecx
jne 0x10096927
mov ecx, 0x62
jmp 0x1009692b
xor ecx, ecx
mov cl, byte [ebx]
mov dword [esp + 0x10], ecx
add ecx, 0xffffffed
cmp ecx, 0x8a
ja case.0x10096946.44
xor edx, edx
mov dl, byte [ecx + 0x100973d0]
jmp dword [edx*4 + 0x10097368]
movsx ecx, word [ebx + 0x1e]
mov eax, dword [ebx + 0x24]
lea ecx, [ecx + ecx*2]
mov edx, dword [eax + 0x14]
lea ecx, [edx + ecx*8]
mov dl, byte [eax]
test dl, dl
jne 0x1009696f
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x1c], eax
jmp 0x1009733f
mov dl, byte [eax + 1]
test dl, dl
je case.0x10096946.39
mov ecx, dword [ecx + 0xc]
mov edx, dword [eax + 8]
push edi
push ecx
push edx
push 0x1d
push esi
call fcn.10095170
add esp, 0x14
jmp 0x1009733f
mov eax, dword [ebx + 0x18]
test eax, eax
jge 0x100969a6
movsx eax, word [ebx + 0x1c]
add eax, dword [ebp + 0x58]
mov dword [esp + 0x1c], eax
jmp 0x1009733f
mov ecx, dword [ebx + 0x28]
push edi
push eax
movsx eax, word [ebx + 0x1c]
push eax
push ecx
push ebp
call fcn.10098760
add esp, 0x14
mov dword [esp + 0x1c], eax
jmp 0x1009733f
push edi
push 0
push ebx
push ebp
call fcn.10098590
add esp, 0x10
jmp 0x1009733f
mov edx, dword [ebx + 4]
push edi
push 0
push edx
push esi
call fcn.100984f0
add esp, 0x10
jmp 0x1009733f
mov eax, dword [ebx + 4]
push 0
push eax
push 0
push edi
push 0
push 0x5e
push esi
call fcn.10095130
add esp, 0x1c
jmp 0x1009733f
push edi
push 0
push 0xa
push esi
call fcn.10095b10
add esp, 0x10
jmp 0x1009733f
mov ebx, dword [ebx + 4]
add ebx, 2
push ebx
call fcn.1006b360
add esp, 4
dec eax
mov dword [esp + 0x14], eax
push eax
push ebx
push esi
call fcn.1008f940
add esp, 4
push eax
call fcn.100959b0
push 0xffffffffffffffff
push eax
mov eax, dword [esp + 0x28]
push 0
cdq
sub eax, edx
push edi
sar eax, 1
push eax
push 0xb
push esi
call fcn.10095130
add esp, 0x28
jmp 0x1009733f
movsx ecx, word [ebx + 0x1c]
push edi
push ecx
push 0xc
push esi
call fcn.10095b10
mov edx, dword [ebx + 4]
add esp, 0x10
mov al, byte [edx + 1]
test al, al
je 0x1009733f
movsx eax, word [ebx + 0x1c]
mov ecx, dword [ebp + 0x1e4]
push 0xfffffffffffffffe
mov edx, dword [ecx + eax*4 - 4]
push edx
push 0xffffffffffffffff
push esi
call fcn.10089920
add esp, 0x10
jmp 0x1009733f
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x1c], eax
jmp 0x1009733f
mov ecx, dword [ebx + 8]
push edi
push ecx
push ebp
call fcn.100968d0
add esp, 0xc
mov dword [esp + 0x1c], eax
jmp 0x1009733f
mov edx, dword [ebx + 8]
push edi
push edx
push ebp
call fcn.100968d0
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 4]
push eax
call fcn.1009bce0
movsx ebx, al
mov eax, dword [esp + 0x2c]
add esp, 0x10
add ebx, 0x2c
cmp eax, edi
je 0x10096afe
mov ecx, eax
push edi
push ecx
push 0xf
push esi
call fcn.10095b10
add esp, 0x10
mov dword [esp + 0x1c], edi
jmp 0x10096b02
mov edi, dword [esp + 0x1c]
push edi
push ebx
push esi
call fcn.100965a0
push 1
push edi
push ebp
call fcn.10098900
add esp, 0x18
jmp 0x1009733f
mov eax, dword [ebx + 8]
lea edx, [esp + 0x34]
push edx
push eax
push ebp
call fcn.10098920
mov edx, dword [ebx + 0xc]
lea ecx, [esp + 0x44]
push ecx
push edx
push ebp
mov esi, eax
call fcn.10098920
mov ecx, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
push 0x10
push edi
push eax
mov eax, dword [esp + 0x34]
push esi
push eax
push ecx
push edx
push ebp
call fcn.10097510
add esp, 0x38
jmp 0x1009733f
mov ecx, dword [ebx + 8]
lea eax, [esp + 0x34]
push eax
push ecx
push ebp
call fcn.10098920
mov esi, eax
mov eax, dword [ebx + 0xc]
lea edx, [esp + 0x44]
push edx
push eax
push ebp
call fcn.10098920
mov edx, dword [esp + 0x28]
xor ecx, ecx
cmp edx, 0x46
mov edx, dword [ebx + 0xc]
push 0x90
push edi
sete cl
push eax
mov eax, dword [ebx + 8]
add ecx, 0x4b
push esi
push ecx
push edx
push eax
push ebp
call fcn.10097510
add esp, 0x38
jmp 0x1009733f
mov edx, dword [ebx + 8]
lea ecx, [esp + 0x34]
push ecx
push edx
push ebp
call fcn.10098920
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x44]
push eax
push ecx
push ebp
call fcn.10098920
mov edx, dword [esp + 0x44]
push edi
push edx
push eax
mov eax, dword [esp + 0x34]
push eax
push esi
call fcn.10095170
add esp, 0x2c
jmp 0x1009733f
mov eax, dword [ebx + 8]
mov cl, byte [eax]
cmp cl, 0x81
jne 0x10096c05
push edi
push 1
push eax
push ebp
call fcn.10098590
add esp, 0x10
mov dword [esp + 0x1c], edi
jmp 0x1009733f
cmp cl, 0x82
jne 0x10096c23
mov ecx, dword [eax + 4]
push edi
push 1
push ecx
push esi
call fcn.100984f0
add esp, 0x10
mov dword [esp + 0x1c], edi
jmp 0x1009733f
push ebp
call fcn.10095b50
push eax
push 0
push 7
push esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
call fcn.10095b10
mov eax, dword [ebx + 8]
lea edx, [esp + 0x4c]
push edx
push eax
push ebp
call fcn.10098920
mov ecx, dword [esp + 0x4c]
push edi
push ecx
push eax
push 0x57
push esi
call fcn.10095170
add esp, 0x34
mov dword [esp + 0x1c], edi
jmp 0x1009733f
mov eax, dword [ebx + 8]
lea edx, [esp + 0x34]
push edx
push eax
push ebp
call fcn.10098920
mov ecx, dword [esp + 0x1c]
push edi
push eax
push ecx
push esi
mov dword [esp + 0x38], edi
call fcn.10095b10
add esp, 0x1c
jmp 0x1009733f
push edi
push 1
push 7
push esi
call fcn.10095b10
mov eax, dword [ebx + 8]
lea edx, [esp + 0x44]
push edx
push eax
push ebp
call fcn.10098920
mov ecx, dword [esp + 0x2c]
push eax
push ecx
push esi
call fcn.100965a0
push 0xffffffffffffffff
push edi
push 0x14
push esi
mov ebx, eax
call fcn.10095b10
push ebx
push esi
call fcn.10095b30
add esp, 0x40
jmp 0x1009733f
mov eax, dword [ebx + 0x24]
test eax, eax
jne 0x10096cee
mov edx, dword [ebx + 4]
push edx
push str.misuse_of_aggregate:__s__
push ebp
call fcn.100896b0
add esp, 0xc
jmp 0x1009733f
movsx ecx, word [ebx + 0x1e]
mov edx, dword [eax + 0x20]
shl ecx, 4
mov eax, dword [ecx + edx + 8]
mov dword [esp + 0x1c], eax
jmp 0x1009733f
mov edx, dword [eax + 0x10]
xor ecx, ecx
test byte [ebx + 3], 0x40
mov eax, dword [edx + 0xc]
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], ecx
mov dl, byte [eax + 0x4d]
mov byte [esp + 0x10], dl
je 0x10096d7f
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], ecx
mov eax, dword [ebx + 4]
push eax
mov dword [esp + 0x1c], eax
call fcn.1006b360
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x34]
push 0
push ecx
mov ecx, dword [esp + 0x30]
push edx
mov dword [esp + 0x3c], eax
push eax
mov eax, dword [esp + 0x2c]
push eax
push ecx
call fcn.1009ee30
add esp, 0x1c
mov dword [esp + 0x10], eax
test eax, eax
jne 0x10096d92
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
push edx
push eax
push str.unknown_function:__.s__
push ebp
call fcn.100896b0
add esp, 0x10
jmp 0x1009733f
mov eax, dword [ebx + 0x10]
cmp eax, ecx
mov dword [esp + 0x28], eax
je 0x10096d26
mov eax, dword [eax]
mov dword [esp + 0x30], eax
jmp 0x10096d2a
mov ecx, dword [esp + 0x10]
test byte [ecx + 3], 0x40
je 0x10096e22
push esi
call fcn.100965c0
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x1c], eax
push edi
mov eax, dword [edx + 8]
mov ecx, dword [eax]
push ecx
push ebp
call fcn.10096870
mov eax, dword [esp + 0x40]
add esp, 0x10
cmp eax, 1
jle 0x10096e19
dec eax
mov ebx, 0x14
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x18]
push edx
push edi
push 0x4a
push esi
call fcn.10095b10
push 1
push edi
push ebp
call fcn.10098670
push ebp
call fcn.10098700
mov eax, dword [esp + 0x48]
push edi
mov ecx, dword [eax + 8]
mov edx, dword [ecx + ebx]
push edx
push ebp
call fcn.10096870
push 1
push ebp
call fcn.10098710
mov eax, dword [esp + 0x48]
add esp, 0x34
add ebx, 0x14
dec eax
mov dword [esp + 0x14], eax
jne 0x10096dd1
mov eax, dword [esp + 0x18]
jmp 0x10097335
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10096e5e
mov ecx, dword [esp + 0x30]
push ecx
push ebp
call fcn.10099050
push ebp
mov dword [esp + 0x38], eax
call fcn.10098700
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
push 1
push edx
push eax
push ebp
call fcn.10098970
push 1
push ebp
call fcn.10098710
add esp, 0x24
jmp 0x10096e66
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x30]
cmp eax, 2
jl 0x10096e81
test byte [ebx + 2], 0x80
je 0x10096e81
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0x14]
jmp 0x10096e8e
test eax, eax
jle 0x10096eaa
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 8]
mov eax, dword [edx]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x10]
push eax
mov eax, dword [esp + 0x28]
push ecx
push edx
push eax
call fcn.100acff0
add esp, 0x10
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x30]
xor ebx, ebx
cmp eax, ebx
mov dword [esp + 0x18], ebx
jle 0x10096f2a
cmp ebx, 0x280
jge 0x10096eec
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 8]
mov eax, dword [edx + ebx]
push eax
call fcn.100976b0
add esp, 4
test eax, eax
je 0x10096eec
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov edx, 1
shl edx, cl
or eax, edx
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x10]
test byte [eax + 3], 8
je 0x10096f16
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x10096f16
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 8]
mov eax, dword [edx + ebx]
push eax
push ebp
call fcn.10097460
add esp, 8
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
inc eax
add ebx, 0x14
cmp eax, ecx
mov dword [esp + 0x18], eax
jl 0x10096eb8
mov ecx, dword [esp + 0x10]
test byte [ecx + 3], 8
je 0x10096f5f
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x10096f47
mov edx, dword [esp + 0x24]
mov eax, dword [edx + 8]
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x20]
push 0xfffffffffffffffc
push ecx
push 0
push 0
push 0
push 0x11
push esi
call fcn.10095130
add esp, 0x1c
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
push 0xfffffffffffffffb
push edx
push edi
push eax
push ecx
push 0x12
push esi
call fcn.10095130
mov edi, dword [esp + 0x4c]
push edi
push esi
call fcn.10096040
add esp, 0x24
test edi, edi
je 0x1009733f
mov eax, dword [esp + 0x2c]
mov edx, edi
push edx
push eax
push ebp
call fcn.10099080
add esp, 0xc
jmp 0x1009733f
push 0
push 0
push ebx
push ebp
call fcn.10097a50
add esp, 0x10
mov dword [esp + 0x1c], eax
jmp 0x1009733f
push esi
call fcn.100965c0
push esi
mov dword [esp + 0x1c], eax
call fcn.100965c0
push edi
push 0
push 0xa
push esi
mov dword [esp + 0x30], eax
call fcn.10095b10
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
push ecx
push edx
push ebx
push ebp
call fcn.10097f00
push edi
push 1
push 7
push esi
call fcn.10095b10
mov eax, dword [esp + 0x4c]
push eax
push esi
call fcn.10096610
add esp, 0x40
push 0
push edi
push 0x14
push esi
call fcn.10095b10
mov ecx, dword [esp + 0x28]
push ecx
push esi
call fcn.10096610
add esp, 0x18
jmp 0x1009733f
mov edx, dword [ebx + 0x10]
mov eax, dword [ebx + 8]
mov dword [esp + 0x14], eax
mov ecx, dword [edx + 8]
mov dword [esp + 0x10], ecx
mov ebx, dword [ecx]
lea ecx, [esp + 0x34]
push ecx
push eax
push ebp
mov dword [esp + 0x30], ebx
call fcn.10098920
lea edx, [esp + 0x44]
mov dword [esp + 0x38], eax
push edx
push ebx
push ebp
call fcn.10098920
push ebp
mov dword [esp + 0x3c], eax
call fcn.10095b50
push ebp
mov ebx, eax
call fcn.10095b50
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x44]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x40]
push 0x10
push ebx
push eax
mov eax, dword [esp + 0x40]
push ecx
push 0x50
push edx
push eax
push ebp
call fcn.10097510
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x78]
add esp, 0x40
mov edx, dword [ecx + 0x14]
push eax
push ebp
mov dword [esp + 0x2c], edx
call fcn.10095b80
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x40]
push ecx
push edx
push ebp
call fcn.10098920
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x40]
push 0x10
push ecx
mov ecx, dword [esp + 0x30]
push eax
mov eax, dword [esp + 0x44]
push edx
push 0x4e
push eax
push ecx
push ebp
call fcn.10097510
push edi
mov edi, dword [esp + 0x50]
push edi
push ebx
push 0x45
push esi
call fcn.10095170
add esp, 0x48
push ebx
push ebp
call fcn.10095b80
push edi
push ebp
call fcn.10095b80
add esp, 0x10
jmp 0x1009733f
mov edx, dword [ebx + 8]
push edi
push edx
push ebp
call fcn.100968d0
add esp, 0xc
mov dword [esp + 0x1c], eax
jmp 0x1009733f
mov eax, dword [ebx + 0x28]
push edi
mov dword [esp + 0x18], eax
mov eax, dword [eax + 8]
inc eax
imul eax, dword [ebx + 0x18]
movsx ecx, word [ebx + 0x1c]
lea edx, [eax + ecx + 1]
push edx
push 0x74
push esi
call fcn.10095b10
mov bx, word [ebx + 0x1c]
add esp, 0x10
test bx, bx
jl 0x1009733f
mov ecx, dword [esp + 0x14]
movsx eax, bx
mov edx, dword [ecx + 0xc]
lea eax, [eax + eax*2]
cmp byte [edx + eax*8 + 0x16], 0x65
jne 0x1009733f
push edi
push 0x16
push esi
call fcn.100965a0
add esp, 0xc
jmp 0x1009733f
mov eax, dword [ebp + 0x1ac]
test eax, eax
jne 0x10097191
push str.RAISE___may_only_be_used_within_a_trigger_program
push ebp
call fcn.100896b0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp byte [ebx + 1], 2
jne 0x100971a0
push ebp
call fcn.1009e8f0
add esp, 4
mov al, byte [ebx + 1]
push 0
cmp al, 4
jne 0x100971c3
mov eax, dword [ebx + 4]
push eax
push 0
push 4
push 0
push 6
push esi
call fcn.10095130
add esp, 0x1c
jmp 0x1009733f
mov ecx, dword [ebx + 4]
movsx edx, al
push ecx
push edx
push ebp
call fcn.1009e910
add esp, 0x10
jmp 0x1009733f
mov eax, dword [ebx + 0x10]
push esi
mov dword [esp + 0x18], 0
mov ecx, dword [eax + 8]
mov edx, dword [eax]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x28], edx
call fcn.100965c0
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 8]
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x10097256
mov ecx, 0xc
mov esi, eax
lea edi, [esp + 0x3c]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x34]
push ecx
push eax
push ebp
call fcn.10098920
mov edi, dword [esp + 0xb4]
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x60], eax
lea edx, [esp + 0x48]
lea eax, [esp + 0x78]
add esp, 0xc
mov byte [esp + 0x3c], 0x84
mov byte [esp + 0x6c], 0x4c
mov dword [esp + 0x74], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x24]
test eax, eax
jle 0x100972fe
mov ecx, dword [esp + 0x28]
inc eax
shr eax, 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
push ebp
call fcn.10098700
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
je 0x1009728e
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
mov dword [esp + 0x78], eax
jmp 0x10097298
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov dword [esp + 0x14], edx
push esi
call fcn.100965c0
push 8
mov dword [esp + 0x30], eax
push eax
mov eax, dword [esp + 0x20]
push eax
push ebp
call fcn.100989e0
mov ecx, dword [esp + 0x34]
push edi
mov edx, dword [ecx + 0x14]
push edx
push ebp
call fcn.10096870
mov eax, dword [esp + 0x30]
push eax
push 0
push 1
push esi
call fcn.10095b10
push 1
push ebp
call fcn.10098710
mov ecx, dword [esp + 0x60]
push ecx
push esi
call fcn.10096610
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
add esp, 0x40
add ecx, 0x28
dec eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
jne 0x10097271
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x10097323
push ebp
call fcn.10098700
mov edx, dword [ebx + 0xc]
push edi
push edx
push ebp
call fcn.10096870
push 1
push ebp
call fcn.10098710
add esp, 0x18
jmp 0x10097331
push edi
push 0
push 0xa
push esi
call fcn.10095b10
add esp, 0x10
mov eax, dword [esp + 0x10]
push eax
push esi
call fcn.10096610
add esp, 8
mov ecx, dword [esp + 0x34]
push ecx
push ebp
call fcn.10095b80
mov edx, dword [esp + 0x40]
push edx
push ebp
call fcn.10095b80
mov eax, dword [esp + 0x2c]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret