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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x90
push ebx
mov ebx, dword [ebp + 8]
mov edx, dword [ebx + 8]
xor eax, eax
push edi
mov edi, dword [ebp + 0x10]
mov dword [ebp - 4], edx
mov dword [ebp - 0x24], edi
mov dword [ebp + 8], eax
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x14], eax
cmp edx, eax
jne 0x48c14f
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
mov esi, dword [ebp + 0xc]
mov ecx, 0x75
test esi, esi
je 0x48c15f
movzx ecx, byte [esi]
lea eax, [ecx - 0x13]
mov dword [ebp - 0xc], ecx
cmp eax, 0x9d
ja case.0x48c177.21
movzx eax, byte [eax + 0x48d050]
jmp dword [eax*4 + 0x48cfd8]
mov esi, dword [esi + 0xc]
jmp 0x48c153
movsx ecx, word [esi + 0x22]
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
mov edx, dword [eax + 0x1c]
lea ecx, [ecx + ecx*2]
lea ecx, [edx + ecx*8]
jne 0x48c1a2
mov eax, dword [ecx + 0x10]
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [eax + 1], 0
je case.0x48c177.162
mov ecx, dword [ecx + 0xc]
mov edx, dword [eax + 8]
mov eax, dword [ebp - 4]
push edi
push ecx
push edx
push 0x5a
push eax
call fcn.00418480
add esp, 0x14
pop esi
mov eax, edi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
test byte [esi + 4], 8
mov eax, dword [esi + 0x1c]
je 0x48c2c4
mov ecx, dword [esi + 0xc]
push edi
push ecx
push ebx
call fcn.0048c120
mov ecx, dword [esi + 0x2c]
mov ebx, eax
movsx eax, word [esi + 0x20]
add esp, 0xc
call fcn.0041afe0
movsx esi, al
cmp esi, 0x41
jle 0x48c2bb
mov eax, dword [ebp - 4]
cmp ebx, edi
je 0x48c215
push 0x4f
mov edx, ebx
call fcn.00418590
mov eax, dword [ebp - 4]
add esp, 4
mov ebx, edi
mov ecx, dword [eax + 0x6c]
lea edi, [esi*2 + 0x4e08f8]
mov esi, dword [ebp - 4]
cmp dword [eax + 0x70], ecx
jg 0x48c238
push 0
push 1
push ebx
push 0x5b
call fcn.00418440
add esp, 0x10
jmp 0x48c264
lea edx, [ecx + 1]
mov dword [eax + 0x6c], edx
mov eax, dword [eax + 0x68]
lea edx, [ecx + ecx*4]
lea eax, [eax + edx*4]
xor edx, edx
mov word [eax + 2], dx
mov dword [eax + 4], ebx
mov dword [eax + 8], 1
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x5b
mov eax, ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
je 0x48c281
push 0xffffffffffffffff
mov eax, edi
call fcn.0042b600
add esp, 4
pop esi
pop edi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
test eax, eax
jns 0x48c289
mov eax, dword [esi + 0x6c]
dec eax
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
cmp byte [ecx + eax*4 + 1], 0
lea eax, [ecx + eax*4]
je 0x48c2b0
push edi
push eax
push esi
or eax, 0xffffffff
call fcn.0042b770
add esp, 0xc
pop esi
pop edi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x48c2bb
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xff
pop esi
pop edi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
test eax, eax
jns 0x48c31c
mov ebx, dword [ebx + 0x34]
test ebx, ebx
jns 0x48c319
movzx eax, word [esi + 0x20]
test ax, ax
js 0x48c30f
mov ecx, dword [esi + 0x2c]
mov ecx, dword [ecx + 4]
movsx edx, ax
mov esi, edx
add esi, esi
cmp byte [ecx + esi*8 + 0xd], 0x45
jne 0x48c30f
mov esi, dword [ebp - 4]
sub edx, ebx
push 0x4f
mov eax, esi
call fcn.00418590
push 0x54
mov eax, esi
call fcn.00418540
add esp, 8
pop esi
mov eax, edi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
cwde
pop esi
pop edi
sub eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebx - 1]
movsx edx, word [esi + 0x20]
mov bl, byte [esi + 0x26]
push edi
push edx
push eax
mov eax, dword [esi + 0x2c]
mov esi, dword [ebp - 4]
push eax
push esi
call fcn.00458ae0
add esp, 0x14
test bl, bl
je 0x48c34f
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x48c34f
movzx ecx, bl
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
mov word [eax + edx*4 - 0x12], cx
pop esi
mov eax, edi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
push edi
push 0
push ebx
mov eax, esi
call fcn.00442e80
add esp, 0xc
pop esi
mov eax, edi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, esi
call fcn.0041b330
mov edx, eax
mov eax, dword [ebp - 4]
push 0x46
call fcn.00418590
add esp, 4
pop esi
mov eax, edi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 8]
push edi
push 0
mov eax, edx
call fcn.00437700
add esp, 8
pop esi
mov eax, edi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 8]
mov eax, dword [ebp - 4]
push ecx
mov edx, edi
call fcn.00441820
add esp, 4
pop esi
mov eax, edi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 4]
push 0x49
xor edx, edx
call fcn.00418590
add esp, 4
pop esi
mov eax, edi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [esi + 8]
lea eax, [esi + 2]
call fcn.004124c0
mov edx, dword [ebp - 4]
mov ecx, dword [edx]
lea ebx, [eax - 1]
push ebx
lea edi, [esi + 2]
call fcn.00427be0
mov ecx, dword [ebp - 4]
mov edi, eax
mov eax, ebx
cdq
sub eax, edx
mov edx, dword [ecx + 0x6c]
add esp, 4
sar eax, 1
cmp dword [ecx + 0x70], edx
jg 0x48c422
mov ecx, dword [ebp + 0x10]
mov esi, dword [ebp - 4]
push 0
push ecx
push eax
push 0x4b
call fcn.00418440
add esp, 0x10
jmp 0x48c44d
lea esi, [edx + 1]
mov dword [ecx + 0x6c], esi
mov ecx, dword [ecx + 0x68]
lea esi, [edx + edx*4]
lea ecx, [ecx + esi*4]
mov esi, dword [ebp - 4]
mov dword [ecx + 4], eax
mov eax, dword [ebp + 0x10]
mov dword [ecx + 8], eax
xor eax, eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov dword [ecx], 0x4b
mov eax, edx
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
je 0x48c46b
push 0xfffffffffffffff9
mov eax, edi
call fcn.0042b600
mov eax, dword [ebp + 0x10]
add esp, 4
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
test eax, eax
jns 0x48c473
mov eax, dword [esi + 0x6c]
dec eax
mov edx, dword [esi + 0x68]
lea ecx, [eax + eax*4]
cmp byte [edx + ecx*4 + 1], 0
lea eax, [edx + ecx*4]
je 0x48c49d
push edi
push eax
push esi
mov eax, 0xfffffff9
call fcn.0042b770
mov eax, dword [ebp + 0x10]
add esp, 0xc
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
je 0x48c4a8
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xf9
mov eax, dword [ebp + 0x10]
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
movsx edx, word [esi + 0x20]
mov eax, dword [ebp - 4]
push 0x4c
mov dword [ebp + 0xc], esi
call fcn.00418590
mov eax, dword [esi + 8]
add esp, 4
cmp byte [eax + 1], 0
je 0x48c4f5
mov ebx, dword [ebx + 0xd8]
mov ecx, esi
movsx esi, word [ecx + 0x20]
mov ecx, ebx
call fcn.00413490
mov edx, dword [ebp - 4]
push 0xffffffffffffffff
mov dword [ebx], 0
call fcn.0042b8d0
add esp, 4
pop esi
mov eax, edi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x1c]
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0xc]
push edi
push edx
push ebx
call fcn.0048c120
mov ebx, eax
add esp, 0xc
cmp ebx, edi
je 0x48c52d
mov eax, dword [ebp - 4]
push 0x4f
mov edx, ebx
call fcn.00418590
add esp, 4
mov ebx, edi
mov edx, dword [esi + 8]
xor edi, edi
call fcn.0042da30
mov edx, dword [ebp + 0x10]
movsx edi, al
mov eax, dword [ebp - 4]
push 0x55
call fcn.00418590
add esp, 4
pop esi
pop edi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
xor eax, eax
cmp ecx, 0x2d
sete al
mov dword [ebp - 0x14], 0x80
add eax, 0x34
mov dword [ebp - 0xc], eax
mov ecx, dword [esi + 0xc]
mov dword [ebp + 0xc], esi
mov dword [ebp - 0x18], ecx
call fcn.0042cfa0
test eax, eax
je 0x48c598
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
push ecx
push edx
push edi
push ebx
mov eax, esi
call fcn.00487f80
mov eax, dword [ebp - 0x24]
add esp, 0x10
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ebp + 8]
push eax
mov eax, dword [ebp - 0x18]
mov esi, ebx
call fcn.004657c0
mov edx, dword [ebp + 0xc]
lea ecx, [ebp - 0x10]
mov edi, eax
mov eax, dword [edx + 0x10]
push ecx
call fcn.004657c0
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc]
or ecx, 0x20
push ecx
mov ecx, dword [ebp + 0x10]
push ecx
mov ecx, dword [ebp - 0x18]
push eax
mov eax, dword [ebp + 0xc]
mov eax, dword [eax + 0x10]
push edi
push edx
push ebx
call fcn.0045cf00
add esp, 0x20
jmp 0x48c616
mov edx, esi
mov eax, dword [edx + 0xc]
lea ecx, [ebp + 8]
mov dword [ebp + 0xc], esi
push ecx
mov esi, ebx
call fcn.004657c0
mov ecx, dword [ebp + 0xc]
mov edi, eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ecx + 0x10]
call fcn.004657c0
mov edx, dword [ebp + 0x10]
mov ecx, dword [ebp - 4]
push edx
push edi
push eax
mov eax, dword [ebp - 0xc]
push eax
push ecx
call fcn.00418480
add esp, 0x1c
mov ecx, dword [ebp + 8]
test ecx, ecx
je 0x48c631
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x48c631
movzx edx, al
mov dword [ebx + edx*4 + 0x94], ecx
inc byte [ebx + 0x13]
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x48c64c
mov al, byte [ebx + 0x13]
cmp al, 8
jae 0x48c64c
movzx eax, al
mov dword [ebx + eax*4 + 0x94], ecx
inc byte [ebx + 0x13]
mov eax, dword [ebp - 0x24]
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [ebp + 0xc], esi
mov esi, dword [esi + 0xc]
mov al, byte [esi]
cmp al, 0x96
jne 0x48c679
push edi
push 1
push ebx
mov eax, esi
call fcn.00442e80
add esp, 0xc
pop esi
mov eax, edi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
cmp al, 0x94
jne 0x48c696
mov ecx, dword [esi + 8]
push edi
push 1
mov eax, edx
call fcn.00437700
add esp, 8
pop esi
mov eax, edi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
lea edx, [ebp + 8]
push edx
lea eax, [ebp - 0x90]
mov esi, ebx
mov byte [ebp - 0x90], 0x96
mov dword [ebp - 0x8c], 0x4400
mov dword [ebp - 0x88], 0
call fcn.004657c0
mov ecx, dword [ebp + 0xc]
mov edi, eax
lea eax, [ebp - 0x10]
push eax
mov eax, dword [ecx + 0xc]
call fcn.004657c0
mov edx, dword [ebp + 0x10]
push edx
push edi
push eax
mov eax, dword [ebp - 4]
push 0x68
push eax
jmp 0x48c60e
mov edx, esi
mov eax, dword [edx + 0xc]
lea ecx, [ebp + 8]
mov dword [ebp + 0xc], esi
push ecx
mov esi, ebx
call fcn.004657c0
mov ecx, dword [ebp - 0xc]
mov edx, eax
mov eax, dword [ebp - 4]
push ecx
call fcn.00418590
add esp, 8
jmp 0x48c616
lea edx, [ebp + 8]
mov edi, esi
mov eax, dword [edi + 0xc]
mov dword [ebp + 0xc], esi
push edx
mov esi, ebx
call fcn.004657c0
mov esi, eax
mov eax, dword [edi + 0x10]
call fcn.0041b330
xor ecx, ecx
cmp byte [edi + 0x26], 0x2d
sete cl
xor edx, edx
xor ecx, eax
test eax, eax
sete dl
push ecx
mov ecx, dword [ebp + 0x10]
push esi
mov esi, dword [ebp - 4]
push 0x58
mov eax, edx
call fcn.00418630
add esp, 0x10
jmp 0x48c616
mov eax, dword [ebp - 4]
push 0x46
mov edx, 1
mov dword [ebp + 0xc], esi
call fcn.00418590
lea eax, [ebp + 8]
mov ecx, esi
push eax
mov eax, dword [ecx + 0xc]
mov esi, ebx
call fcn.004657c0
mov edx, dword [ebp - 0xc]
mov edi, eax
mov eax, dword [ebp - 4]
push edx
call fcn.00418540
mov edi, dword [ebp + 0x10]
mov esi, eax
mov eax, dword [ebp - 4]
push 0x46
xor edx, edx
call fcn.00418590
mov edx, dword [ebp - 4]
add esp, 0x10
mov eax, esi
call fcn.0042b5d0
jmp 0x48c616
mov eax, dword [esi + 0x28]
test eax, eax
jne 0x48c7cc
mov eax, dword [esi + 8]
push eax
push str.misuse_of_aggregate:__s__
mov edi, ebx
call fcn.0043f120
mov eax, dword [ebp - 0x24]
add esp, 8
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
movsx ecx, word [esi + 0x22]
mov edx, dword [eax + 0x28]
pop esi
add ecx, ecx
mov eax, dword [edx + ecx*8 + 8]
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx]
xor ecx, ecx
test dword [esi + 4], 0x1000000
mov dword [ebp - 0x14], eax
mov al, byte [eax + 0x4e]
mov dword [ebp + 0xc], esi
mov dword [ebp - 0x10], ecx
mov byte [ebp - 0x20], al
mov dword [ebp - 0x18], ecx
je 0x48c80c
mov ecx, dword [esi + 0x2c]
mov eax, dword [ecx + 0x38]
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [ebx + 0x17], cl
je 0x48c831
mov eax, esi
call fcn.00437510
test eax, eax
je 0x48c82f
push 0xffffffffffffffff
push esi
push ebx
call fcn.00465700
add esp, 0xc
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
xor ecx, ecx
test dword [esi + 4], 0x4000
je 0x48c8ed
mov dword [ebp - 0xc], ecx
mov dword [ebp + 8], ecx
mov ecx, dword [ebp - 0x20]
mov eax, dword [esi + 8]
mov edx, dword [ebp + 8]
push 0
push ecx
push edx
push eax
mov dword [ebp - 8], eax
mov eax, dword [ebp - 0x14]
push eax
call fcn.00446290
add esp, 0x14
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x48cb3c
cmp dword [eax + 0x14], 0
jne 0x48cb3c
mov eax, dword [eax + 4]
test eax, 0x200
je 0x48c905
dec dword [ebx + 0x38]
mov esi, dword [ebp - 0xc]
mov edx, dword [esi + 4]
mov ecx, dword [ebx + 0x38]
push edi
push edx
push ebx
mov dword [ebp - 8], ecx
call fcn.0048d0f0
add esp, 0xc
cmp dword [ebp + 8], 1
jle 0x48c8d8
mov eax, dword [ebp + 8]
add esi, 0x1c
dec eax
mov dword [ebp + 8], eax
mov edi, edi
mov edi, dword [ebp - 8]
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 4]
push 0x33
call fcn.00418590
mov ecx, dword [ebp + 0x10]
mov edx, dword [esi]
push ecx
push edx
push ebx
call fcn.0048d0f0
add esp, 0x10
add esi, 0x18
dec dword [ebp + 8]
jne 0x48c8b0
mov eax, dword [ebp - 8]
mov ecx, dword [ebp - 4]
call fcn.00418720
mov eax, dword [ebp - 0x24]
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x14]
mov dword [ebp - 0xc], eax
cmp eax, ecx
je 0x48c841
mov edx, dword [eax]
mov dword [ebp + 8], edx
jmp 0x48c844
test eax, 0x400
je 0x48c924
mov eax, dword [ebp - 0xc]
mov ecx, dword [eax + 4]
push edi
push ecx
push ebx
call fcn.0048c120
add esp, 0xc
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 8]
xor edi, edi
mov dword [ebp - 0x20], 1
test ecx, ecx
jle 0x48c98d
mov edx, dword [ebp - 0xc]
add edx, 4
mov dword [ebp - 8], edx
lea ecx, [ecx]
cmp edi, 0x20
jge 0x48c959
mov eax, dword [ebp - 8]
mov eax, dword [eax]
call fcn.004374d0
test eax, eax
je 0x48c959
mov ecx, dword [ebp - 0x20]
or dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x1c]
test byte [edx + 4], 0x20
je 0x48c979
cmp dword [ebp - 0x18], 0
jne 0x48c979
mov eax, dword [ebp - 8]
mov ecx, dword [eax]
push ebx
call fcn.0045ccf0
add esp, 4
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x20]
add dword [ebp - 8], 0x18
inc edi
rol ecx, 1
mov dword [ebp - 0x20], ecx
mov ecx, dword [ebp + 8]
cmp edi, ecx
jl 0x48c940
cmp dword [ebp - 0xc], 0
je 0x48c9f5
cmp dword [ebp - 0x10], 0
je 0x48c9a9
mov eax, dword [ebx + 0x2c]
lea edx, [eax + 1]
add eax, ecx
mov dword [ebp - 8], edx
mov dword [ebx + 0x2c], eax
jmp 0x48c9b9
mov esi, dword [ebp + 8]
mov ecx, ebx
call fcn.0041ba40
mov esi, dword [ebp + 0xc]
mov dword [ebp - 8], eax
mov edi, dword [ebp - 0x1c]
test byte [edi + 4], 0xc0
je 0x48c9dd
mov eax, dword [ebp - 0xc]
mov eax, dword [eax + 4]
mov cl, byte [eax]
cmp cl, 0xa2
je 0x48c9d4
cmp cl, 0xa4
jne 0x48c9dd
mov cl, byte [edi + 4]
and cl, 0xc0
mov byte [eax + 0x26], cl
mov edx, dword [ebp - 8]
mov eax, dword [ebp - 0xc]
push 3
push 0
push edx
push ebx
call fcn.004658b0
add esp, 0x10
xor edx, edx
jmp 0x48c9fd
mov edi, dword [ebp - 0x1c]
xor edx, edx
mov dword [ebp - 8], edx
mov eax, dword [ebp + 8]
cmp eax, 2
jl 0x48ca14
test byte [esi + 4], 0x80
je 0x48ca14
mov edx, dword [ebp - 0xc]
push eax
mov eax, dword [edx + 0x1c]
jmp 0x48ca22
cmp eax, edx
jle 0x48ca36
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0xc]
push eax
mov eax, dword [edx + 4]
mov ecx, dword [ebp - 0x14]
push edi
push ecx
call fcn.00449dd0
mov edi, eax
add esp, 0xc
xor edx, edx
mov dword [ebp - 0x1c], edi
test byte [edi + 4], 0x20
je 0x48cadd
mov edi, dword [ebp - 0x18]
cmp edi, edx
jne 0x48ca4d
mov eax, dword [ebp - 0x14]
mov edi, dword [eax + 8]
mov eax, dword [ebp - 4]
mov ecx, dword [eax + 0x6c]
cmp dword [eax + 0x70], ecx
jg 0x48ca6c
push 0
push 0
push 0
push 0x52
mov esi, eax
call fcn.00418440
add esp, 0x10
jmp 0x48ca92
lea esi, [ecx + 1]
mov dword [eax + 0x6c], esi
mov eax, dword [eax + 0x68]
lea esi, [ecx + ecx*4]
lea eax, [eax + esi*4]
mov esi, dword [ebp - 4]
mov dword [eax + 4], edx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov dword [eax], 0x52
mov eax, ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
je 0x48caa8
push 0xfffffffffffffffe
mov eax, edi
call fcn.0042b600
add esp, 4
jmp 0x48cadd
test eax, eax
jns 0x48cab0
mov eax, dword [esi + 0x6c]
dec eax
mov edx, dword [esi + 0x68]
lea ecx, [eax + eax*4]
cmp byte [edx + ecx*4 + 1], 0
lea eax, [edx + ecx*4]
je 0x48cad2
push edi
push eax
push esi
mov eax, 0xfffffffe
call fcn.0042b770
add esp, 0xc
jmp 0x48cadd
test edi, edi
je 0x48cadd
mov dword [eax + 0x10], edi
mov byte [eax + 1], 0xfe
mov ecx, dword [ebx + 0x34]
mov eax, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x10]
mov edi, dword [ebp - 4]
neg ecx
push 0xfffffffffffffff8
push eax
mov eax, dword [ebp + 0x10]
sbb ecx, ecx
add ecx, 0x3f
push esi
push ecx
mov ecx, dword [ebp - 8]
call fcn.00434c30
mov eax, dword [edi + 0x6c]
add esp, 0x10
test eax, eax
jle 0x48cb19
movzx edx, byte [ebp + 8]
mov ecx, dword [edi + 0x68]
lea eax, [eax + eax*4]
mov word [ecx + eax*4 - 0x12], dx
cmp dword [ebp + 8], 0
je 0x48cb32
test esi, esi
jne 0x48cb32
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
push ebx
call fcn.0041ba90
add esp, 4
mov eax, dword [ebp + 0x10]
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 8]
push edx
push str.unknown_function:__s__
mov edi, ebx
call fcn.0043f120
mov eax, dword [ebp - 0x24]
add esp, 8
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
cmp ecx, 0x86
jne 0x48cb89
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
mov eax, dword [ecx]
cmp eax, 1
je 0x48cb89
push 1
push eax
push str.sub_select_returns__d_columns___expected__d
mov edi, ebx
call fcn.0043f120
mov eax, dword [ebp - 0x24]
add esp, 0xc
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push ebx
call fcn.00486ad0
add esp, 8
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x1c], 0
jne 0x48cbb3
push eax
push ebx
call fcn.00486ad0
mov edx, dword [esi + 0xc]
add esp, 8
mov dword [edx + 0x1c], eax
mov edi, dword [esi + 0x1c]
test edi, edi
je 0x48cbd7
mov ecx, dword [esi + 0xc]
call fcn.0041b050
cmp edi, eax
je 0x48cbd7
push eax
push edi
push str._d_columns_assigned__d_values
mov edi, ebx
call fcn.0043f120
add esp, 0xc
movsx eax, word [esi + 0x20]
mov ecx, dword [esi + 0xc]
add eax, dword [ecx + 0x1c]
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x38]
dec eax
mov dword [ebp - 8], eax
dec eax
mov dword [ebp + 8], eax
mov dword [ebx + 0x38], eax
mov eax, dword [ebp - 4]
push 0x49
xor edx, edx
call fcn.00418590
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 8]
push edx
push eax
push esi
push ebx
call fcn.00488260
mov esi, dword [ebp - 4]
push 0x46
mov edx, 1
mov eax, esi
mov ebx, edi
call fcn.00418590
mov eax, dword [ebp - 8]
mov ecx, esi
call fcn.00418720
push 0x53
xor edi, edi
mov edx, ebx
mov eax, esi
call fcn.00418590
mov eax, dword [ebp + 8]
add esp, 0x1c
mov ecx, esi
call fcn.00418720
pop esi
pop edi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
push 0
mov ecx, edi
push 0
push ecx
push esi
mov edi, ebx
call fcn.00486f60
mov eax, dword [ebp + 0x10]
add esp, 0x10
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esi + 0x2c]
movsx edx, word [ebx + 0x2a]
movsx eax, word [esi + 0x20]
inc edx
imul edx, dword [esi + 0x1c]
lea edx, [edx + eax + 1]
mov eax, dword [ebp - 4]
push 0x95
call fcn.00418590
movzx eax, word [esi + 0x20]
add esp, 4
test ax, ax
js 0x48c64c
mov edx, dword [ebx + 4]
movsx ecx, ax
add ecx, ecx
cmp byte [edx + ecx*8 + 0xd], 0x45
jne 0x48c64c
mov eax, dword [ebp - 4]
push 0x54
call fcn.00418540
mov eax, dword [ebp - 0x24]
add esp, 4
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
push str.row_value_misused
mov edi, ebx
call fcn.0043f120
mov eax, dword [ebp - 0x24]
add esp, 4
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
movzx eax, byte [ebx + 0x17]
mov edi, dword [esi + 0x1c]
mov byte [ebp + 0xb], al
push 0x15
mov eax, edx
call fcn.00418540
mov ecx, dword [ebp + 0x10]
mov byte [ebx + 0x17], 0
mov edx, dword [esi + 0xc]
push ecx
push edx
push ebx
mov edi, eax
call fcn.0048c120
mov esi, eax
movzx eax, byte [ebp + 0xb]
mov byte [ebx + 0x17], al
mov ebx, dword [ebp - 4]
mov eax, edi
mov edx, ebx
mov dword [ebp - 0x24], esi
call fcn.0042b5d0
push ebx
mov edx, esi
mov eax, edi
call fcn.0042b5a0
add esp, 0x14
mov eax, esi
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x78], 0
jne 0x48cd54
push str.RAISE___may_only_be_used_within_a_trigger_program
mov edi, ebx
call fcn.0043f120
add esp, 4
pop esi
pop edi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 1], 2
jne 0x48cd67
mov eax, dword [ebx + 0x74]
test eax, eax
jne 0x48cd63
mov eax, ebx
mov byte [eax + 0x15], 1
mov al, byte [esi + 1]
cmp al, 4
jne 0x48ce06
mov ecx, dword [edx + 0x6c]
mov edi, dword [esi + 8]
cmp dword [edx + 0x70], ecx
jg 0x48cd91
push 0
push 4
push 0
push 0x45
mov esi, edx
call fcn.00418440
add esp, 0x10
jmp 0x48cdc0
mov esi, dword [ebp - 4]
lea eax, [ecx + 1]
mov dword [edx + 0x6c], eax
mov edx, dword [edx + 0x68]
lea eax, [ecx + ecx*4]
lea eax, [edx + eax*4]
xor edx, edx
mov word [eax + 2], dx
mov dword [eax + 4], edx
mov dword [eax + 8], 4
mov dword [eax + 0xc], edx
mov dword [eax + 0x10], edx
mov word [eax], 0x45
mov eax, ecx
mov ecx, dword [esi]
cmp byte [ecx + 0x51], 0
je 0x48cdde
push 0
mov eax, edi
call fcn.0042b600
mov eax, dword [ebp - 0x24]
add esp, 4
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
test eax, eax
jns 0x48cde6
mov eax, dword [esi + 0x6c]
dec eax
mov ecx, dword [esi + 0x68]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*4]
push edi
push edx
push esi
xor eax, eax
call fcn.0042b770
mov eax, dword [ebp - 0x24]
add esp, 0xc
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 8]
push 0
push 0
movsx edx, al
push ecx
push edx
push 0x713
mov edi, ebx
call fcn.004383e0
mov eax, dword [ebp - 0x24]
add esp, 0x14
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x14]
mov edi, dword [ebx]
lea edx, [eax + 4]
mov dword [ebp - 0x28], eax
mov eax, dword [eax]
dec dword [ebx + 0x38]
mov esi, dword [esi + 0xc]
xor ecx, ecx
mov dword [ebp - 0x14], edx
mov edx, dword [ebx + 0x38]
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x10], ecx
mov dword [ebp - 8], edi
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov dword [ebp - 0xc], esi
cmp esi, ecx
je 0x48cebf
push edi
mov eax, esi
call fcn.00465500
add esp, 4
cmp byte [edi + 0x51], 0
mov esi, eax
mov dword [ebp - 0x10], esi
je 0x48ce90
test esi, esi
je 0x48c64c
push eax
mov ecx, edi
push ecx
call fcn.004370f0
mov eax, dword [ebp - 0x24]
add esp, 8
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push ebx
lea ecx, [ebp + 8]
call fcn.00486e60
push eax
mov eax, esi
call fcn.0041b890
push 0x34
lea edx, [ebp - 0x5c]
push 0
push edx
call fcn.004b3f30
lea eax, [ebp - 0x5c]
add esp, 0x18
mov byte [ebp - 0x5c], 0x35
mov dword [ebp - 0x50], esi
mov dword [ebp - 0x18], eax
mov eax, dword [ebp - 0x20]
dec eax
test eax, eax
jle 0x48cf54
mov ecx, dword [ebp - 0x14]
dec eax
shr eax, 1
inc eax
mov dword [ebp + 8], ecx
mov dword [ebp - 0x14], eax
jmp 0x48cee0
cmp dword [ebp - 0xc], 0
mov edi, dword [ebp + 8]
je 0x48cef0
mov edx, dword [edi]
mov dword [ebp - 0x4c], edx
jmp 0x48cef5
mov eax, dword [edi]
mov dword [ebp - 0x18], eax
dec dword [ebx + 0x38]
mov esi, dword [ebx + 0x38]
mov ecx, dword [ebp - 0x18]
push 0x10
push esi
push ecx
push ebx
call fcn.00489510
mov edx, dword [ebp + 0x10]
mov eax, dword [edi + 0x18]
push edx
push eax
push ebx
call fcn.0048d0f0
mov edi, dword [ebp - 0x1c]
mov eax, dword [ebp - 4]
add esp, 0x1c
call fcn.004185e0
mov ecx, dword [ebp - 4]
mov eax, dword [ecx + 0xc]
mov edx, dword [eax + 0x3c]
add edx, dword [eax + 0x38]
not esi
jns 0x48cf42
push esi
push ecx
mov esi, eax
call fcn.004186d0
add esp, 8
jmp 0x48cf4b
mov edx, dword [eax + 0x40]
mov eax, dword [ecx + 0x6c]
mov dword [edx + esi*4], eax
add dword [ebp + 8], 0x30
dec dword [ebp - 0x14]
jne 0x48cee0
test byte [ebp - 0x20], 1
je 0x48cf77
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp + 0x10]
lea edx, [eax + eax*2]
mov eax, dword [ebp - 0x28]
push ecx
mov ecx, dword [eax + edx*8 - 0x14]
push ecx
push ebx
call fcn.0048d0f0
add esp, 0xc
jmp 0x48cf89
mov edi, dword [ebp + 0x10]
mov eax, dword [ebp - 4]
push 0x49
xor edx, edx
call fcn.00418590
add esp, 4
mov eax, dword [ebp - 0x10]
test eax, eax
je 0x48cf9d
mov edx, dword [ebp - 8]
push eax
push edx
call fcn.004370f0
add esp, 8
mov ecx, dword [ebp - 4]
mov esi, dword [ecx + 0xc]
mov edx, dword [esi + 0x3c]
add edx, dword [esi + 0x38]
mov eax, dword [ebp - 0x1c]
not eax
jns 0x48cfc4
push eax
push ecx
call fcn.004186d0
mov eax, dword [ebp - 0x24]
add esp, 8
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esi + 0x40]
mov ecx, dword [ecx + 0x6c]
pop esi
pop edi
mov dword [edx + eax*4], ecx
mov eax, dword [ebp - 0x24]
pop ebx
mov esp, ebp
pop ebp
ret