Function at 0x10124510
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 0x10124555
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x8c
ret
mov ebx, dword [esp + 0xa4]
cmp ebx, ecx
jne 0x10124567
mov ecx, 0x62
jmp 0x1012456b
xor ecx, ecx
mov cl, byte [ebx]
mov dword [esp + 0x10], ecx
add ecx, 0xffffffed
cmp ecx, 0x8a
ja case.0x10124586.44
xor edx, edx
mov dl, byte [ecx + 0x10125010]
jmp dword [edx*4 + 0x10124fa8]
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 0x101245af
mov eax, dword [ecx + 0x10]
mov dword [esp + 0x1c], eax
jmp 0x10124f7f
mov dl, byte [eax + 1]
test dl, dl
je case.0x10124586.39
mov ecx, dword [ecx + 0xc]
mov edx, dword [eax + 8]
push edi
push ecx
push edx
push 0x1d
push esi
call fcn.10122db0
add esp, 0x14
jmp 0x10124f7f
mov eax, dword [ebx + 0x18]
test eax, eax
jge 0x101245e6
movsx eax, word [ebx + 0x1c]
add eax, dword [ebp + 0x58]
mov dword [esp + 0x1c], eax
jmp 0x10124f7f
mov ecx, dword [ebx + 0x28]
push edi
push eax
movsx eax, word [ebx + 0x1c]
push eax
push ecx
push ebp
call fcn.101263a0
add esp, 0x14
mov dword [esp + 0x1c], eax
jmp 0x10124f7f
push edi
push 0
push ebx
push ebp
call fcn.101261d0
add esp, 0x10
jmp 0x10124f7f
mov edx, dword [ebx + 4]
push edi
push 0
push edx
push esi
call fcn.10126130
add esp, 0x10
jmp 0x10124f7f
mov eax, dword [ebx + 4]
push 0
push eax
push 0
push edi
push 0
push 0x5e
push esi
call fcn.10122d70
add esp, 0x1c
jmp 0x10124f7f
push edi
push 0
push 0xa
push esi
call fcn.10123750
add esp, 0x10
jmp 0x10124f7f
mov ebx, dword [ebx + 4]
add ebx, 2
push ebx
call fcn.100f8fa0
add esp, 4
dec eax
mov dword [esp + 0x14], eax
push eax
push ebx
push esi
call fcn.1011d580
add esp, 4
push eax
call fcn.101235f0
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.10122d70
add esp, 0x28
jmp 0x10124f7f
movsx ecx, word [ebx + 0x1c]
push edi
push ecx
push 0xc
push esi
call fcn.10123750
mov edx, dword [ebx + 4]
add esp, 0x10
mov al, byte [edx + 1]
test al, al
je 0x10124f7f
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.10117560
add esp, 0x10
jmp 0x10124f7f
mov eax, dword [ebx + 0x18]
mov dword [esp + 0x1c], eax
jmp 0x10124f7f
mov ecx, dword [ebx + 8]
push edi
push ecx
push ebp
call fcn.10124510
add esp, 0xc
mov dword [esp + 0x1c], eax
jmp 0x10124f7f
mov edx, dword [ebx + 8]
push edi
push edx
push ebp
call fcn.10124510
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 4]
push eax
call fcn.10129920
movsx ebx, al
mov eax, dword [esp + 0x2c]
add esp, 0x10
add ebx, 0x2c
cmp eax, edi
je 0x1012473e
mov ecx, eax
push edi
push ecx
push 0xf
push esi
call fcn.10123750
add esp, 0x10
mov dword [esp + 0x1c], edi
jmp 0x10124742
mov edi, dword [esp + 0x1c]
push edi
push ebx
push esi
call fcn.101241e0
push 1
push edi
push ebp
call fcn.10126540
add esp, 0x18
jmp 0x10124f7f
mov eax, dword [ebx + 8]
lea edx, [esp + 0x34]
push edx
push eax
push ebp
call fcn.10126560
mov edx, dword [ebx + 0xc]
lea ecx, [esp + 0x44]
push ecx
push edx
push ebp
mov esi, eax
call fcn.10126560
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.10125150
add esp, 0x38
jmp 0x10124f7f
mov ecx, dword [ebx + 8]
lea eax, [esp + 0x34]
push eax
push ecx
push ebp
call fcn.10126560
mov esi, eax
mov eax, dword [ebx + 0xc]
lea edx, [esp + 0x44]
push edx
push eax
push ebp
call fcn.10126560
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.10125150
add esp, 0x38
jmp 0x10124f7f
mov edx, dword [ebx + 8]
lea ecx, [esp + 0x34]
push ecx
push edx
push ebp
call fcn.10126560
mov ecx, dword [ebx + 0xc]
mov dword [esp + 0x38], eax
lea eax, [esp + 0x44]
push eax
push ecx
push ebp
call fcn.10126560
mov edx, dword [esp + 0x44]
push edi
push edx
push eax
mov eax, dword [esp + 0x34]
push eax
push esi
call fcn.10122db0
add esp, 0x2c
jmp 0x10124f7f
mov eax, dword [ebx + 8]
mov cl, byte [eax]
cmp cl, 0x81
jne 0x10124845
push edi
push 1
push eax
push ebp
call fcn.101261d0
add esp, 0x10
mov dword [esp + 0x1c], edi
jmp 0x10124f7f
cmp cl, 0x82
jne 0x10124863
mov ecx, dword [eax + 4]
push edi
push 1
push ecx
push esi
call fcn.10126130
add esp, 0x10
mov dword [esp + 0x1c], edi
jmp 0x10124f7f
push ebp
call fcn.10123790
push eax
push 0
push 7
push esi
mov dword [esp + 0x40], eax
mov dword [esp + 0x48], eax
call fcn.10123750
mov eax, dword [ebx + 8]
lea edx, [esp + 0x4c]
push edx
push eax
push ebp
call fcn.10126560
mov ecx, dword [esp + 0x4c]
push edi
push ecx
push eax
push 0x57
push esi
call fcn.10122db0
add esp, 0x34
mov dword [esp + 0x1c], edi
jmp 0x10124f7f
mov eax, dword [ebx + 8]
lea edx, [esp + 0x34]
push edx
push eax
push ebp
call fcn.10126560
mov ecx, dword [esp + 0x1c]
push edi
push eax
push ecx
push esi
mov dword [esp + 0x38], edi
call fcn.10123750
add esp, 0x1c
jmp 0x10124f7f
push edi
push 1
push 7
push esi
call fcn.10123750
mov eax, dword [ebx + 8]
lea edx, [esp + 0x44]
push edx
push eax
push ebp
call fcn.10126560
mov ecx, dword [esp + 0x2c]
push eax
push ecx
push esi
call fcn.101241e0
push 0xffffffffffffffff
push edi
push 0x14
push esi
mov ebx, eax
call fcn.10123750
push ebx
push esi
call fcn.10123770
add esp, 0x40
jmp 0x10124f7f
mov eax, dword [ebx + 0x24]
test eax, eax
jne 0x1012492e
mov edx, dword [ebx + 4]
push edx
push str.misuse_of_aggregate:__s__
push ebp
call fcn.101172f0
add esp, 0xc
jmp 0x10124f7f
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 0x10124f7f
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 0x101249bf
mov dword [esp + 0x28], ecx
mov dword [esp + 0x30], ecx
mov eax, dword [ebx + 4]
push eax
mov dword [esp + 0x1c], eax
call fcn.100f8fa0
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.1012ca70
add esp, 0x1c
mov dword [esp + 0x10], eax
test eax, eax
jne 0x101249d2
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x2c]
push edx
push eax
push str.unknown_function:__.s__
push ebp
call fcn.101172f0
add esp, 0x10
jmp 0x10124f7f
mov eax, dword [ebx + 0x10]
cmp eax, ecx
mov dword [esp + 0x28], eax
je 0x10124966
mov eax, dword [eax]
mov dword [esp + 0x30], eax
jmp 0x1012496a
mov ecx, dword [esp + 0x10]
test byte [ecx + 3], 0x40
je 0x10124a62
push esi
call fcn.10124200
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.101244b0
mov eax, dword [esp + 0x40]
add esp, 0x10
cmp eax, 1
jle 0x10124a59
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.10123750
push 1
push edi
push ebp
call fcn.101262b0
push ebp
call fcn.10126340
mov eax, dword [esp + 0x48]
push edi
mov ecx, dword [eax + 8]
mov edx, dword [ecx + ebx]
push edx
push ebp
call fcn.101244b0
push 1
push ebp
call fcn.10126350
mov eax, dword [esp + 0x48]
add esp, 0x34
add ebx, 0x14
dec eax
mov dword [esp + 0x14], eax
jne 0x10124a11
mov eax, dword [esp + 0x18]
jmp 0x10124f75
mov eax, dword [esp + 0x28]
test eax, eax
je 0x10124a9e
mov ecx, dword [esp + 0x30]
push ecx
push ebp
call fcn.10126c90
push ebp
mov dword [esp + 0x38], eax
call fcn.10126340
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x34]
push 1
push edx
push eax
push ebp
call fcn.101265b0
push 1
push ebp
call fcn.10126350
add esp, 0x24
jmp 0x10124aa6
mov dword [esp + 0x2c], 0
mov eax, dword [esp + 0x30]
cmp eax, 2
jl 0x10124ac1
test byte [ebx + 2], 0x80
je 0x10124ac1
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 8]
mov eax, dword [edx + 0x14]
jmp 0x10124ace
test eax, eax
jle 0x10124aea
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.1013ac30
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 0x10124b6a
cmp ebx, 0x280
jge 0x10124b2c
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 8]
mov eax, dword [edx + ebx]
push eax
call fcn.101252f0
add esp, 4
test eax, eax
je 0x10124b2c
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 0x10124b56
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x10124b56
mov ecx, dword [esp + 0x28]
mov edx, dword [ecx + 8]
mov eax, dword [edx + ebx]
push eax
push ebp
call fcn.101250a0
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 0x10124af8
mov ecx, dword [esp + 0x10]
test byte [ecx + 3], 8
je 0x10124b9f
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x10124b87
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.10122d70
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.10122d70
mov edi, dword [esp + 0x4c]
push edi
push esi
call fcn.10123c80
add esp, 0x24
test edi, edi
je 0x10124f7f
mov eax, dword [esp + 0x2c]
mov edx, edi
push edx
push eax
push ebp
call fcn.10126cc0
add esp, 0xc
jmp 0x10124f7f
push 0
push 0
push ebx
push ebp
call fcn.10125690
add esp, 0x10
mov dword [esp + 0x1c], eax
jmp 0x10124f7f
push esi
call fcn.10124200
push esi
mov dword [esp + 0x1c], eax
call fcn.10124200
push edi
push 0
push 0xa
push esi
mov dword [esp + 0x30], eax
call fcn.10123750
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x2c]
push ecx
push edx
push ebx
push ebp
call fcn.10125b40
push edi
push 1
push 7
push esi
call fcn.10123750
mov eax, dword [esp + 0x4c]
push eax
push esi
call fcn.10124250
add esp, 0x40
push 0
push edi
push 0x14
push esi
call fcn.10123750
mov ecx, dword [esp + 0x28]
push ecx
push esi
call fcn.10124250
add esp, 0x18
jmp 0x10124f7f
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.10126560
lea edx, [esp + 0x44]
mov dword [esp + 0x38], eax
push edx
push ebx
push ebp
call fcn.10126560
push ebp
mov dword [esp + 0x3c], eax
call fcn.10123790
push ebp
mov ebx, eax
call fcn.10123790
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.10125150
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.101237c0
mov edx, dword [esp + 0x2c]
lea ecx, [esp + 0x40]
push ecx
push edx
push ebp
call fcn.10126560
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.10125150
push edi
mov edi, dword [esp + 0x50]
push edi
push ebx
push 0x45
push esi
call fcn.10122db0
add esp, 0x48
push ebx
push ebp
call fcn.101237c0
push edi
push ebp
call fcn.101237c0
add esp, 0x10
jmp 0x10124f7f
mov edx, dword [ebx + 8]
push edi
push edx
push ebp
call fcn.10124510
add esp, 0xc
mov dword [esp + 0x1c], eax
jmp 0x10124f7f
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.10123750
mov bx, word [ebx + 0x1c]
add esp, 0x10
test bx, bx
jl 0x10124f7f
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 0x10124f7f
push edi
push 0x16
push esi
call fcn.101241e0
add esp, 0xc
jmp 0x10124f7f
mov eax, dword [ebp + 0x1ac]
test eax, eax
jne 0x10124dd1
push str.RAISE___may_only_be_used_within_a_trigger_program
push ebp
call fcn.101172f0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret
cmp byte [ebx + 1], 2
jne 0x10124de0
push ebp
call fcn.1012c530
add esp, 4
mov al, byte [ebx + 1]
push 0
cmp al, 4
jne 0x10124e03
mov eax, dword [ebx + 4]
push eax
push 0
push 4
push 0
push 6
push esi
call fcn.10122d70
add esp, 0x1c
jmp 0x10124f7f
mov ecx, dword [ebx + 4]
movsx edx, al
push ecx
push edx
push ebp
call fcn.1012c550
add esp, 0x10
jmp 0x10124f7f
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.10124200
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 8]
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x10124e96
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.10126560
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 0x10124f3e
mov ecx, dword [esp + 0x28]
inc eax
shr eax, 1
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
push ebp
call fcn.10126340
mov eax, dword [esp + 0x1c]
add esp, 4
test eax, eax
je 0x10124ece
mov edx, dword [esp + 0x20]
mov eax, dword [edx]
mov dword [esp + 0x78], eax
jmp 0x10124ed8
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov dword [esp + 0x14], edx
push esi
call fcn.10124200
push 8
mov dword [esp + 0x30], eax
push eax
mov eax, dword [esp + 0x20]
push eax
push ebp
call fcn.10126620
mov ecx, dword [esp + 0x34]
push edi
mov edx, dword [ecx + 0x14]
push edx
push ebp
call fcn.101244b0
mov eax, dword [esp + 0x30]
push eax
push 0
push 1
push esi
call fcn.10123750
push 1
push ebp
call fcn.10126350
mov ecx, dword [esp + 0x60]
push ecx
push esi
call fcn.10124250
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 0x10124eb1
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x10124f63
push ebp
call fcn.10126340
mov edx, dword [ebx + 0xc]
push edi
push edx
push ebp
call fcn.101244b0
push 1
push ebp
call fcn.10126350
add esp, 0x18
jmp 0x10124f71
push edi
push 0
push 0xa
push esi
call fcn.10123750
add esp, 0x10
mov eax, dword [esp + 0x10]
push eax
push esi
call fcn.10124250
add esp, 8
mov ecx, dword [esp + 0x34]
push ecx
push ebp
call fcn.101237c0
mov edx, dword [esp + 0x40]
push edx
push ebp
call fcn.101237c0
mov eax, dword [esp + 0x2c]
add esp, 0x10
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret