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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x8c
mov eax, dword [ebp + 0x10]
push ebx
mov ebx, dword [ebp + 8]
push esi
xor edx, edx
push edi
mov edi, dword [ebx + 8]
mov dword [esp + 0x28], edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], edx
mov dword [esp + 0x18], edx
cmp edi, edx
je 0x4e4f8a
mov esi, dword [ebp + 0xc]
lea eax, [edx + 0x65]
cmp esi, edx
je 0x4e4553
movzx eax, byte [esi]
lea ecx, [eax - 0x13]
mov dword [esp + 0x14], eax
cmp ecx, 0x8f
ja case.0x4e456d.21
movzx ecx, byte [ecx + 0x4e5284]
jmp dword [ecx*4 + 0x4e5214]
movsx ecx, word [esi + 0x22]
mov eax, dword [esi + 0x28]
cmp byte [eax], 0
lea edx, [ecx + ecx*2]
mov ecx, dword [eax + 0x1c]
lea ecx, [ecx + edx*8]
jne 0x4e4593
mov eax, dword [ecx + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [eax + 1], 0
je 0x4e45b9
mov esi, dword [ebp + 0x10]
mov edx, dword [ecx + 0xc]
mov eax, dword [eax + 8]
push esi
push edx
push eax
push 0x60
push edi
call fcn.004cd400
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
mov eax, dword [esi + 0x1c]
cmp eax, edx
jge 0x4e45d9
mov ecx, dword [ebx + 0x38]
cmp ecx, edx
jge 0x4e45d6
movsx eax, word [esi + 0x20]
sub eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [ecx - 1]
mov ecx, esi
movzx edx, byte [ecx + 0x26]
push edx
mov edx, dword [ebp + 0x10]
push edx
push eax
movsx eax, word [ecx + 0x20]
mov ecx, dword [ecx + 0x2c]
push eax
push ecx
mov esi, ebx
call fcn.004e42e0
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x10]
push edi
push 0
push ebx
mov eax, esi
call fcn.004e3f00
add esp, 0xc
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 0x10]
mov edx, dword [esi + 8]
push ebx
push 0
push edi
call fcn.004e3e90
add esp, 0xc
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 0x10]
mov edx, esi
mov eax, dword [edx + 8]
push eax
mov eax, ebx
mov esi, edi
call fcn.004cd4a0
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x10]
push 0
push esi
push 0
push 0x3b
push edi
call fcn.004cd400
add esp, 0x14
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, esi
mov edi, dword [ecx + 8]
add edi, 2
mov eax, edi
call fcn.004b24d0
mov ebx, dword [esp + 0x28]
mov esi, eax
mov eax, dword [ebx]
dec esi
push esi
push eax
call fcn.004b3580
push 0xfffffffffffffff9
push eax
mov eax, esi
mov esi, dword [ebp + 0x10]
cdq
sub eax, edx
sar eax, 1
push eax
push 0x3d
xor eax, eax
mov ecx, esi
mov edi, ebx
call fcn.004cd600
add esp, 0x18
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x10]
movsx eax, word [esi + 0x20]
push 0
push edx
push eax
push 0x3e
push edi
call fcn.004cd400
mov ecx, dword [esi + 8]
add esp, 0x14
cmp byte [ecx + 1], 0
je 0x4e46f8
mov ebx, dword [ebx + 0x1a4]
mov edx, esi
movsx esi, word [edx + 0x20]
mov ecx, ebx
call fcn.004b3a40
push 0xffffffffffffffff
mov edx, edi
mov dword [ebx], 0
call fcn.004cdf80
add esp, 4
mov eax, dword [ebp + 0x10]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0x10]
mov ecx, dword [esi + 0xc]
push eax
push ecx
push ebx
call fcn.004e4510
mov esi, eax
add esp, 0xc
cmp esi, dword [ebp + 0x10]
je 0x4e4739
mov edx, dword [ebp + 0x10]
push 0
push edx
push esi
push 0x41
push edi
call fcn.004cd400
mov esi, dword [ebp + 0x10]
add esp, 0x14
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 8]
xor edi, edi
call fcn.004eb560
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x28]
movsx eax, al
push edi
push eax
push ecx
push 0x49
push edx
call fcn.004cd400
add esp, 0x14
push 1
push esi
push ebx
call fcn.004e41a0
add esp, 0xc
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor ecx, ecx
cmp eax, 0x48
sete cl
mov dword [esp + 0x18], 0x80
add ecx, 0x4d
mov dword [esp + 0x14], ecx
mov edi, dword [esi + 0xc]
mov ecx, edi
call fcn.004dfde0
test eax, eax
je 0x4e47bc
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
mov ecx, dword [ebp + 0x10]
push edx
push eax
push ecx
push ebx
mov ecx, esi
call fcn.004dff60
mov eax, dword [esp + 0x3c]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea edx, [esp + 0x10]
push edx
push ebx
mov eax, edi
call fcn.004e53f0
mov dword [esp + 0x24], eax
lea eax, [esp + 0x14]
push eax
mov eax, dword [esi + 0x10]
push ebx
call fcn.004e53f0
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
or ecx, 0x20
push ecx
mov ecx, dword [ebp + 0x10]
push ecx
push eax
mov eax, dword [esp + 0x30]
push edx
push eax
mov eax, dword [esi + 0x10]
push ebx
mov ecx, edi
call fcn.004dfcb0
add esp, 0x28
jmp 0x4e483a
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x10]
push ecx
push ebx
call fcn.004e53f0
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0x10]
push ebx
call fcn.004e53f0
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x2c]
push ecx
push edx
push eax
mov eax, dword [esp + 0x30]
push eax
push edi
call fcn.004cd400
add esp, 0x24
mov esi, dword [esp + 0x10]
test esi, esi
je 0x4e4879
mov dl, byte [ebx + 0x13]
cmp dl, 8
jae 0x4e4879
xor eax, eax
lea ecx, [ebx + 0x94]
cmp byte [ebx + 0x19], al
jbe 0x4e486c
cmp dword [ecx + 0xc], esi
je 0x4e51fb
movzx edi, byte [ebx + 0x19]
inc eax
add ecx, 0x14
cmp eax, edi
jl 0x4e4857
movzx edx, dl
mov dword [ebx + edx*4 + 0x15c], esi
inc byte [ebx + 0x13]
mov esi, dword [esp + 0xc]
test esi, esi
je 0x4e48b8
mov dl, byte [ebx + 0x13]
cmp dl, 8
jae 0x4e48b8
xor eax, eax
lea ecx, [ebx + 0x94]
cmp byte [ebx + 0x19], al
jbe 0x4e48ab
cmp dword [ecx + 0xc], esi
je 0x4e5204
movzx edi, byte [ebx + 0x19]
inc eax
add ecx, 0x14
cmp eax, edi
jl 0x4e4896
movzx eax, dl
mov dword [ebx + eax*4 + 0x15c], esi
inc byte [ebx + 0x13]
mov eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xc]
mov cl, byte [eax]
cmp cl, 0x86
jne 0x4e48e5
mov esi, dword [ebp + 0x10]
push esi
push 1
push ebx
call fcn.004e3f00
add esp, 0xc
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp cl, 0x84
jne 0x4e4905
mov esi, dword [ebp + 0x10]
mov edx, dword [eax + 8]
push esi
push 1
push edi
call fcn.004e3e90
add esp, 0xc
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x10]
push ecx
push ebx
lea eax, [esp + 0x40]
mov byte [esp + 0x40], 0x86
mov dword [esp + 0x44], 0x4400
mov dword [esp + 0x48], edx
call fcn.004e53f0
lea edx, [esp + 0x14]
push edx
mov dword [esp + 0x28], eax
mov eax, dword [esi + 0xc]
push ebx
call fcn.004e53f0
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x2c]
push ecx
push edx
push eax
push 0x59
jmp 0x4e4831
lea eax, [esp + 0x10]
push eax
mov eax, dword [esi + 0xc]
push ebx
call fcn.004e53f0
mov edx, dword [esp + 0x1c]
push edx
mov ecx, eax
mov eax, dword [ebp + 0x10]
push edi
call fcn.004cd480
add esp, 0x10
jmp 0x4e483a
mov eax, dword [ebp + 0x10]
push 0
push eax
push 1
push 0x38
push edi
call fcn.004cd400
mov eax, dword [esi + 0xc]
add esp, 0x14
lea ecx, [esp + 0x10]
push ecx
push ebx
call fcn.004e53f0
mov edx, dword [esp + 0x1c]
push 0
push 0
push eax
push edx
push edi
call fcn.004cd400
add esp, 0x1c
push 0
mov esi, eax
mov eax, dword [ebp + 0x10]
push eax
push 0
push 0x38
push edi
call fcn.004cd400
add esp, 0x14
mov eax, esi
mov edx, edi
call fcn.004cdb30
jmp 0x4e483a
mov eax, dword [esi + 0x28]
cmp eax, edx
jne 0x4e49ec
mov ecx, esi
mov edx, dword [ecx + 8]
push edx
push str.misuse_of_aggregate:__s__
mov esi, ebx
call fcn.004b2660
mov eax, dword [esp + 0x34]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movsx ecx, word [esi + 0x22]
mov edx, dword [eax + 0x28]
shl ecx, 4
mov eax, dword [ecx + edx + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx]
mov dword [esp + 0xc], eax
mov al, byte [eax + 0x42]
mov dword [esp + 0x18], edx
mov byte [esp + 0x30], al
mov dword [esp + 0x24], edx
cmp byte [ebx + 0x17], dl
je 0x4e4a3b
mov eax, esi
call fcn.004e1a40
test eax, eax
je 0x4e4a39
push 0xffffffffffffffff
push esi
push ebx
call fcn.004e5320
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor edx, edx
test dword [esi + 4], 0x4000
je 0x4e4b2f
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x10]
mov esi, dword [esi + 8]
mov ecx, dword [esp + 0xc]
push 0
push edx
push eax
push esi
push ecx
call fcn.004f0870
add esp, 0x14
mov dword [esp + 0x20], eax
test eax, eax
je 0x4e4d36
cmp dword [eax + 0x10], 0
jne 0x4e4d36
movzx ecx, word [eax + 2]
test ecx, 0x200
je 0x4e4b49
mov eax, edi
call fcn.004cd7c0
mov edx, dword [ebp + 0x10]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 8]
push edx
push ecx
push ebx
call fcn.004e54a0
mov eax, dword [esp + 0x1c]
add esp, 0xc
cmp eax, 1
jle 0x4e4b19
mov edx, dword [esp + 0x14]
add edx, 0x20
dec eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x18], eax
lea esp, [esp]
mov eax, dword [esp + 0x24]
mov esi, dword [ebp + 0x10]
push 0
push eax
push esi
push 0x4c
push edi
call fcn.004cd400
add esp, 0x14
push 1
push esi
push ebx
call fcn.004e41a0
mov ecx, dword [esp + 0x18]
inc dword [ebx + 0x3c]
mov edx, dword [ecx]
add esp, 0xc
push esi
push edx
push ebx
call fcn.004e54a0
add esp, 0xc
mov esi, ebx
call fcn.004e41f0
add dword [esp + 0xc], 0x18
sub dword [esp + 0x18], 1
jne 0x4e4ad0
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.004cd810
mov eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x14]
mov dword [esp + 0x14], eax
cmp eax, edx
je 0x4e4a4c
mov ecx, dword [eax]
mov dword [esp + 0x10], ecx
jmp 0x4e4a50
test ecx, 0x400
je 0x4e4b6d
mov eax, dword [ebp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 8]
push eax
push edx
push ebx
call fcn.004e4510
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x10]
xor edi, edi
lea esi, [edi + 1]
test ecx, ecx
jle 0x4e4bd9
mov eax, dword [esp + 0x14]
add eax, 8
mov dword [esp + 0x1c], eax
cmp edi, 0x20
jge 0x4e4ba1
mov ecx, dword [esp + 0x1c]
mov eax, dword [ecx]
call fcn.004e19f0
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x4e4ba1
or dword [esp + 0x18], esi
mov edx, dword [esp + 0x20]
test byte [edx + 2], 0x20
je 0x4e4bc9
cmp dword [esp + 0x24], 0
jne 0x4e4bc9
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
push ebx
call fcn.004dfa90
mov ecx, dword [esp + 0x14]
add esp, 4
mov dword [esp + 0x24], eax
add dword [esp + 0x1c], 0x18
inc edi
rol esi, 1
cmp edi, ecx
jl 0x4e4b85
mov eax, dword [esp + 0x20]
cmp dword [esp + 0x14], 0
je 0x4e4c4d
cmp dword [esp + 0x18], 0
je 0x4e4bf4
mov edx, dword [ebx + 0x2c]
lea esi, [edx + 1]
add edx, ecx
mov dword [ebx + 0x2c], edx
jmp 0x4e4c03
mov esi, ecx
mov ecx, ebx
call fcn.004e6730
mov esi, eax
mov eax, dword [esp + 0x20]
test byte [eax + 2], 0xc0
mov dword [esp + 0x1c], esi
je 0x4e4c29
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 8]
mov dl, byte [ecx]
cmp dl, 0x98
je 0x4e4c20
cmp dl, 0x9a
jne 0x4e4c29
mov dl, byte [eax + 2]
and dl, 0xc0
mov byte [ecx + 0x26], dl
mov edi, dword [esp + 0x14]
inc dword [ebx + 0x3c]
push 3
push 0
push esi
push ebx
mov eax, edi
call fcn.004e5570
add esp, 0x10
mov esi, ebx
call fcn.004e41f0
mov ecx, dword [esp + 0x10]
jmp 0x4e4c59
mov edi, dword [esp + 0x14]
mov dword [esp + 0x1c], 0
cmp ecx, 2
jl 0x4e4c77
mov eax, dword [ebp + 0xc]
test byte [eax + 4], 0x80
je 0x4e4c77
mov edx, dword [esp + 0xc]
mov eax, dword [edi + 0x20]
push ecx
mov ecx, dword [esp + 0x24]
push ecx
push edx
jmp 0x4e4c89
test ecx, ecx
jle 0x4e4c95
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x10]
push eax
mov eax, dword [edi + 8]
push ecx
call fcn.0050df70
mov dword [esp + 0x2c], eax
add esp, 0xc
mov edx, dword [esp + 0x20]
test byte [edx + 2], 0x20
je 0x4e4ccc
cmp dword [esp + 0x24], 0
jne 0x4e4cb1
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 8]
mov dword [esp + 0x24], ecx
mov edx, dword [esp + 0x24]
mov edi, dword [esp + 0x28]
push 0xfffffffffffffffe
push edx
push 0
push 0x44
xor eax, eax
xor ecx, ecx
call fcn.004cd600
add esp, 0x10
mov edx, dword [ebx + 0x38]
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edi, dword [esp + 0x28]
push 0xfffffffffffffff8
neg edx
push eax
mov eax, dword [ebp + 0x10]
sbb edx, edx
push ecx
add edx, 0xa2
push edx
mov ecx, esi
call fcn.004cd600
movzx dx, byte [esp + 0x20]
add esp, 0x10
mov ecx, edi
call fcn.004cdb10
mov eax, dword [esp + 0x10]
test eax, eax
je 0x4e46f8
cmp dword [esp + 0x18], 0
jne 0x4e46f8
push eax
mov eax, esi
mov edi, ebx
call fcn.004e6780
mov eax, dword [ebp + 0x10]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push str.unknown_function:__s__
mov esi, ebx
call fcn.004b2660
mov eax, dword [esp + 0x34]
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x77
jne 0x4e4d7f
mov eax, dword [esi + 0x14]
mov ecx, dword [eax]
mov eax, dword [ecx]
cmp eax, 1
je 0x4e4d7f
push 1
push eax
push str.sub_select_returns__d_columns___expected__d
mov esi, ebx
call fcn.004b2660
mov eax, dword [esp + 0x38]
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push 0
push 0
push esi
push ebx
call fcn.004e2860
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0xc]
cmp dword [eax + 0x1c], edx
jne 0x4e4db2
push 0
push 0
push eax
push ebx
call fcn.004e2860
mov edx, dword [esi + 0xc]
add esp, 0x10
mov dword [edx + 0x1c], eax
xor edx, edx
mov edi, dword [esi + 0x1c]
cmp edi, edx
je 0x4e4dd9
mov ecx, dword [esi + 0xc]
call fcn.004dfe30
cmp edi, eax
je 0x4e4dd9
push eax
push edi
push str._d_columns_assigned__d_values
mov esi, ebx
call fcn.004b2660
mov esi, dword [ebp + 0xc]
add esp, 0xc
movsx eax, word [esi + 0x20]
mov ecx, dword [esi + 0xc]
add eax, dword [ecx + 0x1c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, edi
call fcn.004cd7c0
mov dword [esp + 0x2c], eax
mov eax, edi
call fcn.004cd7c0
mov edx, dword [ebp + 0x10]
push 0
push edx
push 0
push 0x3b
push edi
mov dword [esp + 0x20], eax
call fcn.004cd400
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x40]
add esp, 0x14
push eax
push ecx
push esi
push ebx
call fcn.004e2f40
mov esi, dword [ebp + 0x10]
push 0
push esi
push 1
push 0x38
push edi
call fcn.004cd400
mov edx, dword [esp + 0x50]
add esp, 0x24
mov ecx, edi
call fcn.004cd810
push 0
push 0
push esi
push 0x45
push edi
call fcn.004cd400
mov edx, dword [esp + 0x20]
add esp, 0x14
mov ecx, edi
call fcn.004cd810
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp + 0x10]
push 0
push 0
push edi
push esi
push ebx
call fcn.004e56e0
add esp, 0x14
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0x10]
mov eax, dword [esi + 0xc]
push edx
push eax
push ebx
call fcn.004e4510
add esp, 0xc
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esi + 0x2c]
movsx edx, word [ebx + 0x2a]
movsx eax, word [esi + 0x20]
mov ecx, dword [ebp + 0x10]
inc edx
imul edx, dword [esi + 0x1c]
push 0
push ecx
lea ecx, [edx + eax + 1]
push ecx
push 0x90
push edi
call fcn.004cd400
movzx eax, word [esi + 0x20]
add esp, 0x14
test ax, ax
jl 0x4e48b8
movsx edx, ax
mov eax, dword [ebx + 4]
shl edx, 4
cmp byte [edx + eax + 0xd], 0x45
jne 0x4e48b8
mov ecx, dword [ebp + 0x10]
push 0
push 0
push ecx
push 0x48
push edi
call fcn.004cd400
mov eax, dword [esp + 0x40]
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
push str.row_value_misused
mov esi, ebx
call fcn.004b2660
mov eax, dword [esp + 0x30]
add esp, 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x1c]
push 0
push 0
push eax
push 0x17
push edi
call fcn.004cd400
mov edx, dword [ebp + 0x10]
inc dword [ebx + 0x3c]
add esp, 0x14
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0xc]
push edx
push eax
push ebx
call fcn.004e4510
add esp, 0xc
mov esi, ebx
mov dword [esp + 0x2c], eax
call fcn.004e41f0
mov esi, dword [esp + 0x30]
mov eax, esi
mov edx, edi
call fcn.004cdb30
mov edx, dword [esp + 0x2c]
push edi
mov eax, esi
call fcn.004cdae0
add esp, 4
mov eax, edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x7c], edx
jne 0x4e4f93
push str.RAISE___may_only_be_used_within_a_trigger_program
mov esi, ebx
call fcn.004b2660
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp byte [esi + 1], 2
jne 0x4e4fa0
mov ecx, ebx
call fcn.004ef920
mov al, byte [esi + 1]
push 0
cmp al, 4
jne 0x4e4fcb
mov ecx, esi
mov edx, dword [ecx + 8]
push edx
xor eax, eax
push 0
push 0x37
lea ecx, [eax + 4]
call fcn.004cd600
mov eax, dword [esp + 0x3c]
add esp, 0x10
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [esi + 8]
push 0
movsx edx, al
push ecx
push edx
push 0x713
mov eax, ebx
call fcn.004ef940
mov eax, dword [esp + 0x40]
add esp, 0x14
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x14]
mov dword [esp + 0x34], eax
mov eax, dword [eax]
mov dword [esp + 0x20], eax
mov eax, edi
mov dword [esp + 0x24], edx
call fcn.004cd7c0
mov esi, dword [esi + 0xc]
mov dword [esp + 0x30], eax
mov dword [esp + 0x1c], esi
test esi, esi
je 0x4e5077
mov ecx, 0xc
lea edi, [esp + 0x38]
rep movsd dword es:[edi], dword [esi]
lea ecx, [esp + 0x38]
push ecx
lea eax, [esp + 0x14]
mov edi, ebx
call fcn.004e4410
mov dl, byte [esp + 0x3c]
and dword [esp + 0x40], 0xffffefff
add esp, 4
push 0x30
mov dword [esp + 0x58], eax
lea eax, [esp + 0x6c]
push 0
push eax
mov byte [esp + 0x6a], dl
mov byte [esp + 0x44], 0x9d
call fcn.0052e300
mov edi, dword [esp + 0x34]
lea ecx, [esp + 0x44]
lea edx, [esp + 0x74]
add esp, 0xc
mov byte [esp + 0x68], 0x4e
mov dword [esp + 0x74], ecx
mov dword [esp + 0x24], edx
mov eax, dword [esp + 0x20]
lea ecx, [eax - 1]
test ecx, ecx
jle 0x4e5191
mov eax, dword [esp + 0x34]
add eax, 8
mov dword [esp + 0x18], eax
lea eax, [ecx - 1]
shr eax, 1
inc eax
mov dword [esp + 0x10], eax
jmp 0x4e50a0
inc dword [ebx + 0x3c]
cmp dword [esp + 0x1c], 0
je 0x4e50b6
mov eax, dword [esp + 0x18]
mov ecx, dword [eax]
mov dword [esp + 0x78], ecx
jmp 0x4e50c0
mov edx, dword [esp + 0x18]
mov eax, dword [edx]
mov dword [esp + 0x24], eax
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 0x44]
lea edx, [ecx + 1]
mov dword [eax + 0x44], edx
lea edx, [ecx - 1]
mov dword [esp + 0xc], eax
mov dword [esp + 0x14], ecx
test ecx, edx
jne 0x4e5109
mov eax, ecx
lea ecx, [eax*8 + 4]
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x48]
mov esi, dword [eax]
push 0
push ecx
call fcn.004affd0
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x30]
mov ecx, dword [esp + 0x1c]
mov dword [edx + 0x48], eax
add esp, 8
mov eax, edx
mov eax, dword [eax + 0x48]
test eax, eax
je 0x4e5117
mov dword [eax + ecx*4], 0xffffffff
or eax, 0xffffffff
sub eax, ecx
push 0x10
push eax
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x2c]
push eax
push ebx
call fcn.004e5b10
mov ecx, dword [ebp + 0x10]
mov edx, dword [esp + 0x28]
mov eax, dword [edx + 0x18]
push ecx
push eax
push ebx
call fcn.004e54a0
mov ecx, dword [esp + 0x4c]
add esp, 0x1c
push 0
push ecx
push 0
push 0xd
push edi
call fcn.004cd400
add esp, 0x14
mov esi, ebx
call fcn.004e41f0
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x4e517d
mov edx, dword [esp + 0xc]
lea ecx, [edx*4 + 4]
mov edx, dword [edi + 0x88]
sub eax, ecx
mov dword [eax], edx
add dword [esp + 0x18], 0x30
sub dword [esp + 0x10], 1
jne 0x4e50a0
mov eax, dword [esp + 0x20]
test al, 1
je 0x4e51ba
mov ecx, dword [ebp + 0x10]
inc dword [ebx + 0x3c]
lea edx, [eax + eax*2]
mov eax, dword [esp + 0x34]
push ecx
mov ecx, dword [eax + edx*8 - 0x10]
push ecx
push ebx
call fcn.004e54a0
add esp, 0xc
mov esi, ebx
call fcn.004e41f0
jmp 0x4e51cd
mov edx, dword [ebp + 0x10]
push 0
push edx
push 0
push 0x3b
push edi
call fcn.004cd400
add esp, 0x14
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x48]
test eax, eax
je 0x4e48b8
mov ecx, dword [esp + 0x30]
lea edx, [ecx*4 + 4]
mov ecx, dword [edi + 0x88]
sub eax, edx
mov dword [eax], ecx
mov eax, dword [esp + 0x2c]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov byte [ecx + 6], 1
jmp 0x4e4879
mov eax, dword [esp + 0x2c]
pop edi
pop esi
mov byte [ecx + 6], 1
pop ebx
mov esp, ebp
pop ebp
ret