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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x8c
push esi
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 8], 0
mov dword [ebp - 0x10], 0
mov dword [ebp - 0x14], 0
mov esi, dword [edi + 8]
mov dword [ebp - 4], esi
test esi, esi
jne 0x4e4b75
pop edi
xor eax, eax
pop esi
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, dword [ebp + 0xc]
nop dword [eax]
mov edx, 0x72
test ebx, ebx
je 0x4e4b8c
movzx edx, byte [ebx]
lea eax, [edx - 0x13]
mov dword [ebp - 0xc], edx
cmp eax, 0x9a
ja case.0x4e4ba4.21
movzx eax, byte [eax + 0x4e57d8]
jmp dword [eax*4 + 0x4e5760]
mov ebx, dword [ebx + 0xc]
mov dword [ebp + 0xc], ebx
jmp 0x4e4b80
movsx eax, word [ebx + 0x22]
mov edx, dword [ebx + 0x28]
lea ecx, [eax + eax*2]
cmp byte [edx], 0
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*8]
jne 0x4e4bd2
mov eax, dword [eax + 0x10]
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp byte [edx + 1], 0
je case.0x4e4ba4.162
mov ebx, dword [ebp + 0x10]
push ebx
push dword [eax + 0xc]
push dword [edx + 8]
push 0x5a
push esi
call fcn.00504450
add esp, 0x14
mov eax, ebx
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
test byte [ebx + 4], 8
mov ecx, dword [ebx + 0x1c]
je 0x4e4c68
mov esi, dword [ebp + 0x10]
push esi
push dword [ebx + 0xc]
push edi
call fcn.004e4b40
mov edx, eax
movsx eax, word [ebx + 0x20]
push eax
push dword [ebx + 0x2c]
mov dword [ebp + 0x10], edx
call fcn.00501880
movsx ebx, al
add esp, 0x14
cmp ebx, 0x41
je 0x4e4c5f
mov edi, dword [ebp - 4]
cmp edx, esi
je 0x4e4c42
push esi
push edx
push 0x4f
push edi
call fcn.005043f0
mov edx, esi
add esp, 0x10
mov dword [ebp + 0x10], edx
push 0xffffffffffffffff
lea eax, [ebx*2 + 0x598c20]
push eax
push 0
push 1
push edx
push 0x5b
push edi
call fcn.005044a0
mov edx, dword [ebp + 0x10]
add esp, 0x1c
pop ebx
pop edi
mov eax, edx
pop esi
mov esp, ebp
pop ebp
ret
test ecx, ecx
jns 0x4e4c81
mov ecx, dword [edi + 0x34]
test ecx, ecx
jns 0x4e4c80
movsx eax, word [ebx + 0x20]
pop ebx
pop edi
sub eax, ecx
pop esi
mov esp, ebp
pop ebp
ret
dec ecx
mov al, byte [ebx + 0x26]
push dword [ebp + 0x10]
mov byte [ebp + 0xb], al
movsx eax, word [ebx + 0x20]
push eax
push ecx
push dword [ebx + 0x2c]
push esi
call fcn.004e3be0
mov cl, byte [ebp + 0xb]
add esp, 0x14
test cl, cl
je 0x4e5756
mov eax, dword [esi + 0x6c]
test eax, eax
jle 0x4e5756
movzx edx, cl
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x68]
pop ebx
pop edi
pop esi
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [ebp + 0x10]
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x10]
push esi
push 0
push ebx
push edi
call fcn.004a87e0
add esp, 0x10
mov eax, esi
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 8]
xor ecx, ecx
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp - 4]
push esi
cmp byte [eax + 4], cl
sete cl
push ecx
push 0x46
push edi
call fcn.005043f0
add esp, 0x10
mov eax, esi
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp - 4]
push esi
push 0
push dword [ebx + 8]
push edi
call fcn.004a89c0
add esp, 0x10
mov eax, esi
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push dword [ebx + 8]
mov ebx, dword [ebp + 0x10]
push ebx
push esi
call fcn.0050c990
add esp, 0xc
mov eax, ebx
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ebx, dword [ebp + 0x10]
push ebx
push 0
push 0x49
push esi
call fcn.005043f0
add esp, 0x10
mov eax, ebx
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, dword [ebx + 8]
add esi, 2
push esi
call fcn.005017a0
lea edi, [eax - 1]
push edi
push esi
mov esi, dword [ebp - 4]
push dword [esi]
call fcn.004f10f0
mov ebx, dword [ebp + 0x10]
push 0xfffffffffffffff9
push eax
mov eax, edi
cdq
push 0
sub eax, edx
push ebx
sar eax, 1
push eax
push 0x4b
push esi
call fcn.005044a0
add esp, 0x2c
mov eax, ebx
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push dword [ebp + 0x10]
movsx eax, word [ebx + 0x20]
push eax
push 0x4c
push esi
call fcn.005043f0
mov eax, dword [ebx + 8]
add esp, 0x10
cmp byte [eax + 1], 0
je 0x4e5756
movsx eax, word [ebx + 0x20]
mov esi, dword [edi + 0xd8]
push eax
push esi
call fcn.00504060
mov edi, dword [ebp - 4]
push 0xffffffffffffffff
push eax
push edi
mov dword [esi], 0
call fcn.00504740
mov eax, dword [ebp + 0x10]
add esp, 0x14
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x1c]
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x10]
push esi
push dword [ebx + 0xc]
push edi
call fcn.004e4b40
mov edi, dword [ebp - 4]
add esp, 0xc
mov dword [ebp + 0x10], eax
cmp eax, esi
je 0x4e4e1f
push esi
push eax
push 0x4f
push edi
call fcn.005043f0
add esp, 0x10
mov dword [ebp + 0x10], esi
push 0
push dword [ebx + 8]
call fcn.004d8420
movsx eax, al
push eax
push esi
push 0x55
push edi
call fcn.005043f0
mov eax, dword [ebp + 0x10]
add esp, 0x18
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
xor eax, eax
mov esi, 0x80
cmp edx, 0x2d
mov dword [ebp - 0x14], esi
sete al
lea edx, [eax + 0x34]
mov dword [ebp - 0xc], edx
jmp 0x4e4e5d
xor esi, esi
mov eax, dword [ebx + 0xc]
push eax
mov dword [ebp + 8], eax
call fcn.004e6ac0
add esp, 4
test eax, eax
je 0x4e4e89
push esi
push edx
push dword [ebp + 0x10]
push ebx
push edi
call fcn.004a8d80
mov eax, dword [ebp + 0x10]
add esp, 0x14
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 8]
push eax
push dword [ebp + 8]
push edi
call fcn.004e5880
mov esi, eax
lea eax, [ebp - 0x10]
push eax
push dword [ebx + 0x10]
push edi
call fcn.004e5880
mov ecx, dword [ebp - 0x14]
or ecx, 0x20
push ecx
push dword [ebp + 0x10]
push eax
push esi
push dword [ebp - 0xc]
push dword [ebx + 0x10]
push dword [ebp + 8]
push edi
call fcn.004a7e40
add esp, 0x38
jmp 0x4e502d
lea eax, [ebp - 8]
push eax
push dword [ebx + 0xc]
push edi
call fcn.004e5880
mov esi, eax
lea eax, [ebp - 0x10]
push eax
push dword [ebx + 0x10]
push edi
call fcn.004e5880
push dword [ebp + 0x10]
push esi
push eax
push dword [ebp - 0xc]
push dword [ebp - 4]
call fcn.00504450
add esp, 0x2c
jmp 0x4e502d
mov eax, dword [ebx + 0xc]
mov cl, byte [eax]
cmp cl, 0x93
jne 0x4e4f1f
mov ebx, dword [ebp + 0x10]
push ebx
push 1
push eax
push edi
call fcn.004a87e0
add esp, 0x10
mov eax, ebx
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp cl, 0x91
jne 0x4e4f3f
mov ebx, dword [ebp + 0x10]
push ebx
push 1
push dword [eax + 8]
push esi
call fcn.004a89c0
add esp, 0x10
mov eax, ebx
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
lea eax, [ebp - 8]
mov byte [ebp - 0x58], 0x93
push eax
lea eax, [ebp - 0x58]
mov dword [ebp - 0x54], 0x4400
push eax
push edi
mov dword [ebp - 0x50], 0
call fcn.004e5880
mov esi, eax
lea eax, [ebp - 0x10]
push eax
push dword [ebx + 0xc]
push edi
call fcn.004e5880
push dword [ebp + 0x10]
push esi
push eax
push 0x65
push dword [ebp - 4]
call fcn.00504450
add esp, 0x2c
jmp 0x4e502d
lea eax, [ebp - 8]
push eax
push dword [ebx + 0xc]
push edi
call fcn.004e5880
push dword [ebp + 0x10]
push eax
push dword [ebp - 0xc]
push esi
call fcn.005043f0
add esp, 0x1c
jmp 0x4e502d
lea eax, [ebp - 8]
push eax
push dword [ebx + 0xc]
push edi
call fcn.004e5880
mov esi, eax
xor ecx, ecx
mov eax, dword [ebx + 0x10]
cmp byte [ebx + 0x26], 0x2d
sete cl
mov eax, dword [eax + 8]
mov dl, byte [eax + 4]
xor eax, eax
test dl, dl
sete al
xor ecx, eax
xor eax, eax
push ecx
test dl, dl
setne al
push eax
push dword [ebp + 0x10]
push esi
push 0x58
push dword [ebp - 4]
call fcn.00504520
add esp, 0x24
jmp 0x4e502d
push dword [ebp + 0x10]
push 1
push 0x46
push esi
call fcn.005043f0
lea eax, [ebp - 8]
push eax
push dword [ebx + 0xc]
push edi
call fcn.004e5880
push eax
push dword [ebp - 0xc]
push esi
call fcn.00504390
push dword [ebp + 0x10]
mov ebx, dword [ebp - 4]
mov esi, eax
push 0
push 0x46
push ebx
call fcn.005043f0
push esi
push ebx
call fcn.0050c4c0
add esp, 0x40
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x4e5048
mov al, byte [edi + 0x13]
cmp al, 8
jae 0x4e5048
movzx eax, al
mov dword [edi + eax*4 + 0x94], ecx
inc byte [edi + 0x13]
mov ecx, dword [ebp - 0x10]
test ecx, ecx
je 0x4e5756
mov al, byte [edi + 0x13]
cmp al, 8
jae 0x4e5756
movzx eax, al
pop ebx
mov dword [edi + eax*4 + 0x94], ecx
inc byte [edi + 0x13]
mov eax, dword [ebp + 0x10]
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x28]
test eax, eax
jne 0x4e5097
push dword [ebx + 8]
push str.misuse_of_aggregate:__s__
push edi
call fcn.004e2e30
mov eax, dword [ebp + 0x10]
add esp, 0xc
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
movsx ecx, word [ebx + 0x22]
mov eax, dword [eax + 0x28]
add ecx, ecx
pop ebx
pop edi
pop esi
mov eax, dword [eax + ecx*8 + 8]
mov esp, ebp
pop ebp
ret
test dword [ebx + 4], 0x1000000
mov edx, dword [edi]
mov dword [ebp - 0x18], 0
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x14], 0
mov al, byte [edx + 0x4e]
mov byte [ebp + 8], al
je 0x4e50da
mov eax, dword [ebx + 0x2c]
pop ebx
pop edi
pop esi
mov eax, dword [eax + 0x34]
mov esp, ebp
pop ebp
ret
cmp byte [edi + 0x17], 0
je 0x4e5103
push ebx
call fcn.004e69a0
add esp, 4
test eax, eax
je 0x4e5100
push 0xffffffffffffffff
push ebx
push edi
call fcn.004e3900
add esp, 0xc
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp - 0x20]
test dword [ebx + 4], 0x4000
je 0x4e51c1
mov dword [ebp - 0xc], 0
xor eax, eax
mov ecx, dword [ebx + 8]
push 0
push dword [ebp + 8]
mov dword [ebp - 0x1c], eax
push eax
push ecx
push edx
mov dword [ebp - 0x24], ecx
call fcn.004e73d0
add esp, 0x14
mov dword [ebp - 8], eax
test eax, eax
je 0x4e5390
cmp dword [eax + 0x14], 0
jne 0x4e5390
mov eax, dword [eax + 4]
test eax, 0x200
je 0x4e51d6
mov edx, dword [ebp - 0xc]
dec dword [edi + 0x38]
mov ebx, dword [ebp + 0x10]
mov eax, dword [edi + 0x38]
push ebx
push dword [edx + 4]
mov dword [ebp - 0x18], eax
push edi
call fcn.004e38a0
mov ecx, dword [ebp - 0x1c]
add esp, 0xc
cmp ecx, 1
jle 0x4e51ab
mov eax, dword [ebp - 0xc]
add eax, 0x1c
dec ecx
mov dword [ebp + 8], eax
mov dword [ebp - 0x14], ecx
push dword [ebp - 0x18]
push ebx
push 0x33
push esi
call fcn.005043f0
mov eax, dword [ebp + 8]
push ebx
push dword [eax]
push edi
call fcn.004e38a0
add dword [ebp + 8], 0x18
add esp, 0x1c
sub dword [ebp - 0x14], 1
jne 0x4e5186
push dword [ebp - 0x18]
push esi
call fcn.0050ea40
mov eax, dword [ebp + 0x10]
add esp, 8
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 0x14]
mov dword [ebp - 0xc], ecx
test ecx, ecx
je 0x4e5117
mov eax, dword [ecx]
jmp 0x4e5119
test eax, 0x400
je 0x4e51f6
mov eax, dword [ebp - 0xc]
push dword [ebp + 0x10]
push dword [eax + 4]
push edi
call fcn.004e4b40
add esp, 0xc
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp - 0x1c]
xor eax, eax
mov dword [ebp + 8], eax
test ecx, ecx
jle 0x4e5263
mov esi, dword [ebp - 0xc]
add esi, 4
xor ebx, ebx
nop word [eax + eax]
cmp eax, 0x20
jge 0x4e522c
push dword [esi]
call fcn.004e6950
mov ecx, dword [ebp - 0x1c]
add esp, 4
test eax, eax
mov eax, dword [ebp + 8]
je 0x4e522c
bts ebx, eax
mov edx, dword [ebp - 8]
test byte [edx + 4], 0x20
je 0x4e524f
cmp dword [ebp - 0x14], 0
jne 0x4e524f
push dword [esi]
push edi
call fcn.004e5950
mov ecx, dword [ebp - 0x1c]
add esp, 8
mov dword [ebp - 0x14], eax
mov eax, dword [ebp + 8]
inc eax
add esi, 0x18
mov dword [ebp + 8], eax
cmp eax, ecx
jl 0x4e5210
mov esi, dword [ebp - 4]
mov dword [ebp - 0x18], ebx
mov ebx, dword [ebp + 0xc]
mov edx, dword [ebp - 0xc]
test edx, edx
je 0x4e52d7
cmp dword [ebp - 0x18], 0
je 0x4e5286
mov eax, dword [edi + 0x2c]
lea esi, [eax + 1]
add eax, ecx
mov dword [ebp - 0x10], esi
mov esi, dword [ebp - 4]
mov ecx, dword [ebp - 0x10]
mov dword [edi + 0x2c], eax
jmp 0x4e5298
push ecx
push edi
call fcn.004f0430
mov edx, dword [ebp - 0xc]
mov ecx, eax
add esp, 8
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 8]
mov eax, dword [eax + 4]
test al, 0xc0
je 0x4e52c3
mov ebx, dword [edx + 4]
mov bl, byte [ebx]
mov byte [ebp + 0xb], bl
cmp bl, 0xa2
mov ebx, dword [ebp + 0xc]
je 0x4e52b8
cmp byte [ebp + 0xb], 0xa4
jne 0x4e52c3
mov esi, dword [edx + 4]
and al, 0xc0
mov byte [esi + 0x26], al
mov esi, dword [ebp - 4]
push 3
push 0
push ecx
push edx
push edi
call fcn.004e39b0
mov edx, dword [ebp - 0xc]
add esp, 0x14
jmp 0x4e52de
mov dword [ebp - 0x10], 0
cmp dword [ebp - 0x1c], 2
jl 0x4e5304
test byte [ebx + 4], 0x80
je 0x4e5304
push dword [edx + 0x1c]
mov ebx, dword [ebp - 0x1c]
push ebx
push dword [ebp - 8]
push dword [ebp - 0x20]
call fcn.0050fdf0
add esp, 0x10
mov dword [ebp - 8], eax
jmp 0x4e5313
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
jle 0x4e5310
push dword [edx + 4]
jmp 0x4e52f0
mov eax, dword [ebp - 8]
test byte [eax + 4], 0x20
je 0x4e533d
mov eax, dword [ebp - 0x14]
test eax, eax
jne 0x4e5326
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + 8]
push 0xfffffffffffffffe
push eax
push 0
push 0
push 0
push 0x52
push esi
call fcn.005044a0
mov eax, dword [ebp - 8]
add esp, 0x1c
push 0xfffffffffffffff8
push eax
push dword [ebp + 0x10]
mov eax, dword [edi + 0x34]
push dword [ebp - 0x10]
neg eax
push dword [ebp - 0x18]
sbb eax, eax
add eax, 0x3f
push eax
push esi
call fcn.005044a0
movzx eax, bl
push eax
push esi
call fcn.00504950
add esp, 0x24
test ebx, ebx
je 0x4e5756
cmp dword [ebp - 0x18], 0
jne 0x4e5756
push ebx
push dword [ebp - 0x10]
push edi
call fcn.004fba40
mov eax, dword [ebp + 0x10]
add esp, 0xc
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push dword [ebp - 0x24]
push str.unknown_function:__s__
push edi
call fcn.004e2e30
mov eax, dword [ebp + 0x10]
add esp, 0xc
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp edx, 0x83
jne 0x4e53da
mov eax, dword [ebx + 0x14]
mov eax, dword [eax]
mov eax, dword [eax]
cmp eax, 1
je 0x4e53da
push 1
push eax
push str.sub_select_returns__d_columns___expected__d
push edi
call fcn.004e2e30
mov eax, dword [ebp + 0x10]
add esp, 0x10
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push ebx
push edi
call fcn.004deb80
add esp, 8
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov edx, dword [ebx + 0xc]
cmp dword [edx + 0x1c], 0
jne 0x4e5407
push edx
push edi
call fcn.004deb80
mov ecx, dword [ebx + 0xc]
add esp, 8
mov dword [ecx + 0x1c], eax
mov edx, dword [ebx + 0xc]
mov esi, dword [ebx + 0x1c]
test esi, esi
je 0x4e542e
push edx
call fcn.004e71c0
add esp, 4
cmp esi, eax
je 0x4e542e
push eax
push esi
push str._d_columns_assigned__d_values
push edi
call fcn.004e2e30
mov edx, dword [ebx + 0xc]
add esp, 0x10
movsx eax, word [ebx + 0x20]
add eax, dword [edx + 0x1c]
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, dword [edi + 0x38]
push dword [ebp + 0x10]
mov eax, dword [ebp + 8]
dec esi
push 0
push 0x49
push dword [ebp - 4]
lea edi, [esi - 1]
mov dword [eax + 0x38], edi
call fcn.005043f0
push edi
push esi
push ebx
push dword [ebp + 8]
call fcn.004e3d90
mov ebx, dword [ebp + 0x10]
push ebx
push 1
push 0x46
push dword [ebp - 4]
call fcn.005043f0
push esi
mov esi, dword [ebp - 4]
push esi
call fcn.0050ea40
push 0
push ebx
push 0x53
push esi
call fcn.005043f0
add esp, 0x48
push edi
push esi
call fcn.0050ea40
add esp, 8
mov eax, ebx
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov esi, dword [ebp + 0x10]
push 0
push 0
push esi
push ebx
push edi
call fcn.004ae340
add esp, 0x14
mov eax, esi
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x2c]
mov esi, dword [ebp + 0x10]
mov edi, dword [ebp - 4]
mov dword [ebp + 8], eax
movsx ecx, word [eax + 0x2a]
movsx eax, word [ebx + 0x20]
inc ecx
imul ecx, dword [ebx + 0x1c]
push esi
inc ecx
add eax, ecx
push eax
push 0x95
push edi
call fcn.005043f0
movzx eax, word [ebx + 0x20]
add esp, 0x10
test ax, ax
js 0x4e5756
movsx ecx, ax
mov eax, dword [ebp + 8]
add ecx, ecx
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0xd], 0x45
jne 0x4e5756
push esi
push 0x54
push edi
call fcn.00504390
add esp, 0xc
mov eax, esi
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push str.row_value_misused
push edi
call fcn.004e2e30
mov eax, dword [ebp + 0x10]
add esp, 8
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push dword [ebx + 0x1c]
push 0x15
push esi
call fcn.00504390
push dword [ebp + 0x10]
mov esi, eax
push dword [ebx + 0xc]
push edi
call fcn.004e4b40
mov ebx, dword [ebp - 4]
push esi
push ebx
mov dword [ebp + 0x10], eax
call fcn.0050c4c0
push dword [ebp + 0x10]
push esi
push ebx
call fcn.00504890
mov eax, dword [ebp + 0x10]
add esp, 0x2c
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x78], 0
jne 0x4e558f
push str.RAISE___may_only_be_used_within_a_trigger_program
push edi
call fcn.004e2e30
add esp, 8
xor eax, eax
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov al, byte [ebx + 1]
cmp al, 2
jne 0x4e55a7
mov eax, dword [edi + 0x74]
mov ecx, edi
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
mov al, byte [ebx + 1]
mov ecx, dword [ebx + 8]
push 0
cmp al, 4
jne 0x4e55cc
push ecx
push 0
push 4
push 0
push 0x45
push esi
call fcn.005044a0
mov eax, dword [ebp + 0x10]
add esp, 0x1c
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
push 0
push ecx
movsx eax, al
push eax
push 0x713
push edi
call fcn.004f0de0
mov eax, dword [ebp + 0x10]
add esp, 0x18
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 0x14]
xor edx, edx
mov dword [ebp - 0xc], eax
lea ecx, [eax + 4]
mov eax, dword [eax]
dec dword [edi + 0x38]
mov dword [ebp - 0x20], eax
mov eax, dword [edi + 0x38]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx + 0xc]
mov dword [ebp + 8], ecx
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4e5666
push eax
lea eax, [ebp - 0x58]
push eax
call fcn.004aedd0
lea eax, [ebp - 8]
push eax
lea eax, [ebp - 0x58]
push eax
push edi
call fcn.004ae490
mov cl, byte [ebp - 0x58]
and dword [ebp - 0x54], 0xffffefff
push 0x34
mov dword [ebp - 0x3c], eax
lea eax, [ebp - 0x8c]
push 0
push eax
mov byte [ebp - 0x32], cl
mov byte [ebp - 0x58], 0xa8
call fcn.005497a0
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x58]
add esp, 0x20
mov byte [ebp - 0x8c], 0x35
mov dword [ebp - 0x80], eax
lea edx, [ebp - 0x8c]
mov eax, dword [ebp - 0x20]
lea ebx, [eax - 1]
test ebx, ebx
jle 0x4e56fe
lea eax, [ebx - 1]
mov ebx, dword [ebp + 0x10]
shr eax, 1
inc eax
mov dword [ebp - 0x18], eax
mov ecx, dword [ecx]
mov eax, dword [ebp - 0x7c]
cmp dword [ebp - 0x14], 0
push 0x10
cmovne eax, ecx
cmove edx, ecx
dec dword [edi + 0x38]
mov dword [ebp - 0x7c], eax
mov eax, dword [edi + 0x38]
push eax
push edx
push edi
mov dword [ebp - 8], edx
mov dword [ebp - 0x24], eax
call fcn.004e6140
mov eax, dword [ebp + 8]
push ebx
push dword [eax + 0x18]
push edi
call fcn.004e38a0
push dword [ebp - 0x10]
push esi
call fcn.0050c070
mov ecx, dword [esi + 0xc]
add esp, 0x24
mov edx, dword [ebp - 0x24]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4e56de
push edx
push esi
push ecx
call fcn.004d1020
add esp, 0xc
jmp 0x4e56e7
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 8]
add ecx, 0x30
sub dword [ebp - 0x18], 1
mov dword [ebp + 8], ecx
jne 0x4e5680
mov eax, dword [ebp - 0x20]
jmp 0x4e5701
mov ebx, dword [ebp + 0x10]
push ebx
test al, 1
je 0x4e571b
mov ecx, dword [ebp - 0xc]
lea eax, [eax + eax*2]
push dword [ecx + eax*8 - 0x14]
push edi
call fcn.004e38a0
add esp, 0xc
jmp 0x4e5728
push 0
push 0x49
push esi
call fcn.005043f0
add esp, 0x10
mov ecx, dword [esi + 0xc]
mov edx, dword [ebp - 0x10]
not edx
mov eax, dword [ecx + 0x3c]
add eax, dword [ecx + 0x38]
jns 0x4e574d
push edx
push esi
push ecx
call fcn.004d1020
mov eax, dword [ebp + 0x10]
add esp, 0xc
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret
mov ecx, dword [ecx + 0x40]
mov eax, dword [esi + 0x6c]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp + 0x10]
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret