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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
push ebx
push esi
mov ebx, ecx
push edi
mov esi, dword [ebx + 8]
mov edi, edx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x10], esi
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 0
test esi, esi
je 0x100aebdf
mov edx, 0x65
test edi, edi
je 0x100ae18a
movzx edx, byte [edi]
lea eax, [edx - 0x13]
mov dword [esp + 0x14], edx
cmp eax, 0x88
ja case.0x100ae1a3.21
movzx eax, byte [eax + 0x100aef2c]
jmp dword [eax*4 + 0x100aeebc]
movsx eax, word [edi + 0x22]
mov edx, dword [edi + 0x28]
lea ecx, [eax + eax*2]
cmp byte [edx], 0
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*8]
jne 0x100ae1c9
mov eax, dword [eax + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edx + 1], 0
je case.0x100ae1a3.145
mov ebx, dword [ebp + 8]
push ebx
push dword [eax + 0xc]
mov ecx, esi
push dword [edx + 8]
mov edx, 0x60
call fcn.100c9000
add esp, 0xc
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x1c]
test ecx, ecx
jns 0x100ae20d
mov ecx, dword [ebx + 0x38]
test ecx, ecx
jns 0x100ae20c
movsx eax, word [edi + 0x20]
sub eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
dec ecx
movzx eax, byte [edi + 0x26]
mov edx, dword [edi + 0x2c]
push eax
push dword [ebp + 8]
movsx eax, word [edi + 0x20]
push ecx
push eax
mov ecx, ebx
call fcn.100af250
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
push esi
push 0
mov edx, edi
call fcn.100af7b0
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 8]
mov edx, dword [edi + 8]
push ebx
push 0
mov ecx, esi
call fcn.100af930
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [edi + 8]
mov edx, dword [ebp + 8]
mov ecx, esi
call fcn.100c8e20
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 8]
push ebx
push 0
mov edx, 0x46
mov ecx, esi
call fcn.100c8eb0
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 8]
lea ecx, [esi + 2]
call fcn.100e9c80
lea edx, [esi + 2]
mov esi, dword [esp + 0x10]
lea edi, [eax - 1]
mov ecx, dword [esi]
push edi
call fcn.100e88c0
mov ebx, dword [ebp + 8]
add esp, 4
mov ecx, esi
push 0xfffffffffffffff9
push eax
mov eax, edi
cdq
sub eax, edx
push 0
sar eax, 1
push ebx
push eax
mov edx, 0x48
call fcn.100c8bd0
add esp, 0x14
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx eax, word [edi + 0x20]
push dword [ebp + 8]
mov edx, 0x49
push eax
mov ecx, esi
call fcn.100c8eb0
mov eax, dword [edi + 8]
add esp, 8
cmp byte [eax + 1], 0
je 0x100aeeaf
mov esi, dword [ebx + 0x1a4]
movsx edx, word [edi + 0x20]
mov ecx, esi
call fcn.100e8290
mov ecx, dword [esp + 0x10]
push 0xffffffffffffffff
mov edx, eax
mov dword [esi], 0
call fcn.100c8060
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
mov edx, dword [edi + 0xc]
push esi
call fcn.100ae140
add esp, 4
mov dword [esp + 0x20], eax
cmp eax, esi
je 0x100ae372
mov ecx, dword [esp + 0x10]
push esi
push eax
mov edx, 0x4c
call fcn.100c8eb0
add esp, 8
mov dword [esp + 0x20], esi
mov ecx, dword [edi + 8]
xor edx, edx
call fcn.100a51b0
mov ecx, dword [esp + 0x10]
movsx eax, al
push eax
push esi
mov edx, 0x52
call fcn.100c8eb0
mov edx, dword [esp + 0x28]
push 1
mov ecx, ebx
call fcn.100af590
mov eax, dword [esp + 0x2c]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
cmp edx, 0x2d
sete al
mov esi, 0x80
mov dword [esp + 0x20], esi
lea edx, [eax + 0x34]
mov dword [esp + 0x14], edx
jmp 0x100ae3c6
xor esi, esi
mov eax, dword [edi + 0xc]
mov ecx, eax
mov dword [esp + 0x24], eax
call fcn.100b45a0
mov ecx, ebx
test eax, eax
je 0x100ae3f3
push esi
push edx
push dword [ebp + 8]
mov edx, edi
call fcn.100b3ff0
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x24]
lea eax, [esp + 0x18]
push eax
call fcn.100adf90
mov edx, dword [edi + 0x10]
mov esi, eax
add esp, 4
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call fcn.100adf90
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
add esp, 4
or ecx, 0x20
push ecx
push dword [ebp + 8]
mov ecx, ebx
push eax
push esi
push dword [esp + 0x24]
push dword [edi + 0x10]
call fcn.100b45e0
add esp, 0x18
jmp 0x100ae588
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x18]
push eax
call fcn.100adf90
mov edx, dword [edi + 0x10]
mov esi, eax
add esp, 4
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call fcn.100adf90
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
add esp, 4
push dword [ebp + 8]
push esi
push eax
call fcn.100c9000
add esp, 0xc
jmp 0x100ae588
mov edx, dword [edi + 0xc]
mov al, byte [edx]
cmp al, 0x86
jne 0x100ae49d
mov esi, dword [ebp + 8]
push esi
push 1
call fcn.100af7b0
add esp, 8
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp al, 0x84
jne 0x100ae4bd
mov ebx, dword [ebp + 8]
mov edx, dword [edx + 8]
push ebx
push 1
mov ecx, esi
call fcn.100af930
add esp, 8
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x18]
push eax
lea edx, [esp + 0x3c]
mov byte [esp + 0x3c], 0x86
mov dword [esp + 0x40], 0x4400
mov dword [esp + 0x44], 0
call fcn.100adf90
mov edx, dword [edi + 0xc]
mov esi, eax
add esp, 4
lea eax, [esp + 0x28]
push eax
mov ecx, ebx
call fcn.100adf90
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, 0x59
push dword [ebp + 8]
push esi
push eax
call fcn.100c9000
add esp, 0xc
jmp 0x100ae588
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x18]
push eax
call fcn.100adf90
mov edx, dword [esp + 0x18]
add esp, 4
mov ecx, esi
push dword [ebp + 8]
push eax
call fcn.100c8eb0
add esp, 8
jmp 0x100ae588
push dword [ebp + 8]
mov edx, 0x43
push 1
mov ecx, esi
call fcn.100c8eb0
mov edx, dword [edi + 0xc]
lea eax, [esp + 0x20]
push eax
mov ecx, ebx
call fcn.100adf90
mov edx, dword [esp + 0x20]
add esp, 0xc
mov ecx, esi
push eax
call fcn.100c8f20
mov ecx, dword [esp + 0x14]
add esp, 4
mov edx, 0x43
push dword [ebp + 8]
mov esi, eax
push 0
call fcn.100c8eb0
mov ecx, dword [esp + 0x18]
add esp, 8
mov edx, esi
call fcn.100c8580
mov edx, dword [esp + 0x18]
test edx, edx
je 0x100ae5cc
mov al, byte [ebx + 0x13]
mov byte [esp + 0xf], al
cmp al, 8
jae 0x100ae5cc
movzx esi, byte [ebx + 0x19]
xor ecx, ecx
lea eax, [ebx + 0x94]
test esi, esi
jle 0x100ae5bd
jmp 0x100ae5b0
cmp dword [eax + 0xc], edx
je 0x100ae61d
inc ecx
add eax, 0x14
cmp ecx, esi
jl 0x100ae5b0
movzx eax, byte [esp + 0xf]
mov dword [ebx + eax*4 + 0x15c], edx
inc byte [ebx + 0x13]
mov edx, dword [esp + 0x28]
test edx, edx
je 0x100aeeaf
mov al, byte [ebx + 0x13]
mov byte [esp + 0xf], al
cmp al, 8
jae 0x100aeeaf
movzx esi, byte [ebx + 0x19]
xor ecx, ecx
lea eax, [ebx + 0x94]
test esi, esi
jle 0x100ae604
cmp dword [eax + 0xc], edx
je 0x100ae623
inc ecx
add eax, 0x14
cmp ecx, esi
jl 0x100ae5f7
movzx eax, byte [esp + 0xf]
mov dword [ebx + eax*4 + 0x15c], edx
inc byte [ebx + 0x13]
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [eax + 6], 1
jmp 0x100ae5cc
mov byte [eax + 6], 1
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x28]
test eax, eax
jne 0x100ae653
push dword [edi + 8]
push str.misuse_of_aggregate:__s__
push ebx
call fcn.100e99e0
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx ecx, word [edi + 0x22]
mov eax, dword [eax + 0x28]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 0x17], 0
mov eax, dword [ebx]
mov dword [esp + 0x24], eax
mov al, byte [eax + 0x46]
mov dword [esp + 0x28], 0
mov byte [esp + 0x30], al
mov dword [esp + 0x20], 0
je 0x100ae6aa
mov ecx, edi
call fcn.100b22b0
test eax, eax
je 0x100ae6aa
push 0xffffffffffffffff
mov edx, edi
mov ecx, ebx
call fcn.100ae070
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test dword [edi + 4], 0x4000
je 0x100ae78d
mov dword [esp + 0x18], 0
xor eax, eax
mov ecx, dword [edi + 8]
push 0
push dword [esp + 0x34]
mov dword [esp + 0x24], ecx
mov edx, ecx
mov ecx, dword [esp + 0x2c]
push eax
mov dword [esp + 0x20], eax
call fcn.1009f470
add esp, 0xc
mov dword [esp + 0x34], eax
test eax, eax
je 0x100ae99f
cmp dword [eax + 0x10], 0
jne 0x100ae99f
movzx eax, word [eax + 2]
test eax, 0x200
je 0x100ae7a3
mov ecx, esi
call fcn.100c89b0
mov edi, dword [esp + 0x18]
mov esi, dword [ebp + 8]
mov edx, dword [edi + 4]
push esi
mov ecx, ebx
mov dword [esp + 0x28], eax
call fcn.100adf30
mov eax, dword [esp + 0x18]
add esp, 4
cmp eax, 1
jle 0x100ae776
add edi, 0x1c
dec eax
mov dword [esp + 0x20], eax
push dword [esp + 0x24]
mov ecx, dword [esp + 0x14]
push esi
mov edx, 0x33
call fcn.100c8eb0
push 1
mov edx, esi
mov ecx, ebx
call fcn.100af590
inc dword [ebx + 0x3c]
mov edx, dword [edi]
add esp, 0xc
push esi
call fcn.100adf30
add esp, 4
mov ecx, ebx
call fcn.100af500
dec dword [esp + 0x20]
lea edi, [edi + 0x18]
jne 0x100ae737
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x10]
call fcn.100c8990
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edi + 0x14]
mov dword [esp + 0x18], ecx
test ecx, ecx
je 0x100ae6bf
mov eax, dword [ecx]
jmp 0x100ae6c1
test eax, 0x400
je 0x100ae7c5
mov edi, dword [esp + 0x18]
push dword [ebp + 8]
mov edx, dword [edi + 4]
mov ecx, ebx
call fcn.100ae140
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x14]
xor edx, edx
mov eax, 1
mov dword [esp + 0x1c], edx
mov dword [esp + 0x30], eax
test ecx, ecx
jle 0x100ae847
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x34]
add esi, 4
cmp edx, 0x20
jge 0x100ae807
mov ecx, dword [esi]
call fcn.100b22f0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
test eax, eax
mov eax, dword [esp + 0x30]
je 0x100ae807
or dword [esp + 0x28], eax
test byte [edi + 2], 0x20
je 0x100ae82d
cmp dword [esp + 0x20], 0
jne 0x100ae82d
mov edx, dword [esi]
mov ecx, ebx
call fcn.100b48d0
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
rol eax, 1
inc edx
add esi, 0x18
mov dword [esp + 0x1c], edx
mov dword [esp + 0x30], eax
cmp edx, ecx
jl 0x100ae7e7
mov edi, dword [esp + 0x2c]
mov esi, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
test edx, edx
je 0x100ae8d7
cmp dword [esp + 0x28], 0
je 0x100ae873
mov eax, dword [ebx + 0x2c]
lea esi, [eax + 1]
mov dword [esp + 0x1c], esi
mov esi, dword [esp + 0x10]
add eax, ecx
mov ecx, dword [esp + 0x1c]
mov dword [ebx + 0x2c], eax
jmp 0x100ae886
mov edx, ecx
mov ecx, ebx
call fcn.100ac850
mov edx, dword [esp + 0x18]
mov ecx, eax
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x34]
test byte [eax + 2], 0xc0
je 0x100ae8b8
mov ecx, dword [edx + 4]
mov cl, byte [ecx]
mov byte [esp + 0xf], cl
cmp cl, 0x91
mov ecx, dword [esp + 0x1c]
je 0x100ae8a9
cmp byte [esp + 0xf], 0x93
jne 0x100ae8b8
mov al, byte [eax + 2]
mov esi, dword [edx + 4]
and al, 0xc0
mov byte [esi + 0x26], al
mov esi, dword [esp + 0x10]
inc dword [ebx + 0x3c]
push 3
push 0
push ecx
mov ecx, ebx
call fcn.100adb90
add esp, 0xc
mov ecx, ebx
call fcn.100af500
mov edx, dword [esp + 0x18]
jmp 0x100ae8df
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x14]
cmp eax, 2
jl 0x100ae906
test byte [edi + 4], 0x80
je 0x100ae906
push dword [edx + 0x1c]
mov edx, dword [esp + 0x38]
mov ecx, dword [esp + 0x28]
push eax
call fcn.1007c900
add esp, 8
mov edi, eax
jmp 0x100ae913
test eax, eax
jle 0x100ae90f
push dword [edx + 4]
jmp 0x100ae8f1
mov edi, dword [esp + 0x34]
test byte [edi + 2], 0x20
je 0x100ae940
mov eax, dword [esp + 0x20]
test eax, eax
jne 0x100ae928
mov eax, dword [esp + 0x24]
mov eax, dword [eax + 8]
push 0xfffffffffffffffe
push eax
push 0
push 0
push 0
mov edx, 0x4f
mov ecx, esi
call fcn.100c8bd0
add esp, 0x14
mov esi, dword [ebp + 8]
mov edx, dword [ebx + 0x38]
mov ecx, dword [esp + 0x10]
push 0xfffffffffffffff8
push edi
push esi
push dword [esp + 0x28]
neg edx
push dword [esp + 0x38]
sbb edx, edx
add edx, 0xa2
call fcn.100c8bd0
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
movzx edx, al
add esp, 0x14
call fcn.100c85b0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x100ae996
cmp dword [esp + 0x28], 0
jne 0x100ae996
mov edx, dword [esp + 0x1c]
push eax
mov ecx, ebx
call fcn.100ac820
add esp, 4
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [esp + 0x1c]
push str.unknown_function:__s__
push ebx
call fcn.100e99e0
mov eax, dword [ebp + 8]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp edx, 0x77
jne 0x100ae9e7
mov eax, dword [edi + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
cmp eax, 1
je 0x100ae9e7
push 1
push eax
push str.sub_select_returns__d_columns___expected__d
push ebx
call fcn.100e99e0
mov eax, dword [ebp + 8]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0
mov edx, edi
call fcn.100b0c00
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [edi + 0xc]
cmp dword [edx + 0x1c], 0
jne 0x100aea17
push 0
push 0
call fcn.100b0c00
mov ecx, dword [edi + 0xc]
add esp, 8
mov dword [ecx + 0x1c], eax
mov edx, dword [edi + 0x1c]
test edx, edx
je 0x100aea3a
mov ecx, dword [edi + 0xc]
call fcn.100b4570
cmp edx, eax
je 0x100aea3a
push eax
push edx
push str._d_columns_assigned__d_values
push ebx
call fcn.100e99e0
add esp, 0x10
movsx ecx, word [edi + 0x20]
mov eax, dword [edi + 0xc]
add ecx, dword [eax + 0x1c]
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
call fcn.100c89b0
mov ecx, dword [esp + 0x10]
mov esi, eax
call fcn.100c89b0
push dword [ebp + 8]
mov ecx, dword [esp + 0x14]
push 0
mov edx, 0x46
mov edi, eax
call fcn.100c8eb0
mov edx, dword [esp + 0x34]
push edi
push esi
mov ecx, ebx
call fcn.100af9c0
mov ebx, dword [ebp + 8]
mov ecx, dword [esp + 0x20]
push ebx
push 1
mov edx, 0x43
call fcn.100c8eb0
mov edx, esi
mov esi, dword [esp + 0x28]
mov ecx, esi
call fcn.100c8990
push 0
push ebx
mov edx, 0x50
call fcn.100c8eb0
add esp, 0x20
mov edx, edi
mov ecx, esi
call fcn.100c8990
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 8]
push 0
push 0
push esi
mov edx, edi
call fcn.100ada10
add esp, 0xc
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [ebp + 8]
mov edx, dword [edi + 0xc]
call fcn.100ae140
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x2c]
mov ebx, dword [ebp + 8]
movsx ecx, word [eax + 0x2a]
inc ecx
imul ecx, dword [edi + 0x1c]
mov dword [esp + 0x2c], eax
movsx eax, word [edi + 0x20]
inc eax
add eax, ecx
push ebx
push eax
mov edx, 0x90
mov ecx, esi
call fcn.100c8eb0
movzx eax, word [edi + 0x20]
add esp, 8
test ax, ax
js 0x100aeeaf
movsx ecx, ax
mov eax, dword [esp + 0x2c]
add ecx, ecx
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0xd], 0x45
jne 0x100aeeaf
push ebx
mov edx, 0x51
mov ecx, esi
call fcn.100c8f20
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.row_value_misused
push ebx
call fcn.100e99e0
mov eax, dword [ebp + 8]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push dword [edi + 0x1c]
mov edx, 0x17
mov ecx, esi
call fcn.100c8f20
inc dword [ebx + 0x3c]
mov edx, dword [edi + 0xc]
add esp, 4
mov ecx, ebx
push dword [ebp + 8]
mov esi, eax
call fcn.100ae140
add esp, 4
mov ecx, ebx
mov dword [ebp + 8], eax
call fcn.100af500
mov ecx, dword [esp + 0x10]
mov edx, esi
call fcn.100c8580
push dword [ebp + 8]
mov ecx, dword [esp + 0x14]
mov edx, esi
call fcn.100c85d0
mov eax, dword [ebp + 8]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x7c], 0
jne 0x100aebe8
push str.RAISE___may_only_be_used_within_a_trigger_program
push ebx
call fcn.100e99e0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [edi + 1], 2
jne 0x100aebfa
mov eax, dword [ebx + 0x78]
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
mov al, byte [edi + 1]
push 0
cmp al, 4
jne 0x100aec25
push dword [edi + 8]
mov edx, 0x42
push 0
push 4
push 0
mov ecx, esi
call fcn.100c8bd0
mov eax, dword [ebp + 8]
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push dword [edi + 8]
movsx eax, al
push eax
mov edx, 0x713
mov ecx, ebx
call fcn.100a0790
mov eax, dword [ebp + 8]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [edi + 0x14]
mov dword [esp + 0x14], eax
lea edx, [eax + 4]
mov eax, dword [eax]
mov ecx, esi
mov dword [esp + 0x20], 0
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
call fcn.100c89b0
mov edx, dword [edi + 0xc]
mov dword [esp + 0x34], eax
mov dword [esp + 0x30], edx
test edx, edx
je 0x100aed17
movq xmm0, qword [edx]
movq qword [esp + 0x38], xmm0
movq xmm0, qword [edx + 8]
movq qword [esp + 0x40], xmm0
movq xmm0, qword [edx + 0x10]
movq qword [esp + 0x48], xmm0
movq xmm0, qword [edx + 0x18]
movq qword [esp + 0x50], xmm0
movq xmm0, qword [edx + 0x20]
movq qword [esp + 0x58], xmm0
movq xmm0, qword [edx + 0x28]
lea eax, [esp + 0x18]
push eax
lea edx, [esp + 0x3c]
mov ecx, ebx
movq qword [esp + 0x64], xmm0
call fcn.100aefc0
mov cl, byte [esp + 0x3c]
and dword [esp + 0x40], 0xffffefff
add esp, 4
mov dword [esp + 0x54], eax
push 0x30
lea eax, [esp + 0x6c]
push 0
push eax
mov byte [esp + 0x6a], cl
mov byte [esp + 0x44], 0x96
call fcn.10003750
mov edx, dword [esp + 0x3c]
lea eax, [esp + 0x44]
mov dword [esp + 0x80], eax
lea eax, [esp + 0x74]
add esp, 0xc
mov byte [esp + 0x68], 0x35
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x28]
mov esi, dword [ebp + 8]
mov edi, dword [esp + 0x10]
lea ecx, [eax - 1]
test ecx, ecx
jle 0x100aee14
mov eax, dword [esp + 0x24]
dec ecx
shr ecx, 1
inc ecx
mov dword [esp + 0x2c], ecx
lea esp, [esp]
inc dword [ebx + 0x3c]
mov eax, dword [eax]
test edx, edx
je 0x100aed4f
mov dword [esp + 0x78], eax
jmp 0x100aed53
mov dword [esp + 0x20], eax
mov ecx, dword [edi + 0xc]
mov dword [esp + 0x1c], ecx
mov edx, dword [ecx + 0x44]
mov dword [esp + 0x18], edx
lea eax, [edx + 1]
mov dword [ecx + 0x44], eax
lea eax, [edx - 1]
test edx, eax
jne 0x100aed90
lea eax, [edx*8 + 4]
mov edx, dword [ecx + 0x48]
mov ecx, dword [ecx]
push 0
push eax
call fcn.100ec600
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
add esp, 8
mov dword [ecx + 0x48], eax
mov eax, dword [ecx + 0x48]
test eax, eax
je 0x100aed9e
mov dword [eax + edx*4], 0xffffffff
or eax, 0xffffffff
sub eax, edx
push 0x10
push eax
push dword [esp + 0x28]
mov dword [esp + 0x28], eax
push ebx
call fcn.100ad3e0
mov edx, dword [esp + 0x34]
push esi
mov edx, dword [edx + 0x18]
mov ecx, ebx
call fcn.100adf30
mov edx, dword [esp + 0x48]
add esp, 0x14
mov ecx, edi
call fcn.100c8e40
mov ecx, ebx
call fcn.100af500
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x100aedf7
mov eax, dword [esp + 0x1c]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [edi + 0x88]
mov dword [ecx], eax
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
add eax, 0x30
dec dword [esp + 0x2c]
mov dword [esp + 0x24], eax
jne 0x100aed40
mov eax, dword [esp + 0x28]
test al, 1
je 0x100aee3a
inc dword [ebx + 0x3c]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x14]
push esi
mov edx, dword [eax + edx*8 - 0x14]
mov ecx, ebx
call fcn.100adf30
add esp, 4
mov ecx, ebx
call fcn.100af500
jmp 0x100aee90
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x100aee5e
push 0
push esi
push 0
mov edx, 0x46
mov ecx, edi
call fcn.100c9070
add esp, 0xc
jmp 0x100aee90
lea eax, [ecx + 1]
mov dword [edi + 0x88], eax
mov eax, dword [edi + 0x58]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x46
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], esi
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x100aeeaf
mov eax, dword [esp + 0x34]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [edi + 0x88]
mov dword [ecx], eax
mov eax, dword [ebp + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret