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

Disassembly:
sub esp, 0x68
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x7c]
mov dword [esp + 0x54], 0
mov dword [esp + 0x5c], 0
mov dword [esp + 0x58], 0
mov al, byte [edi + 0x2c]
mov ebp, dword [edi]
movzx edx, al
mov dword [esp + 0x40], 0
mov dword [esp + 0x64], ebp
mov byte [esp + 0x11], al
mov dword [esp + 0x28], edx
cmp edx, 1
ja 0x551acb
mov ebx, 1
jmp 0x551adb
cmp edx, 2
mov ebx, 0xa
mov eax, 5
cmove ebx, eax
mov eax, dword [edi + 8]
mov dword [esp + 0x50], ebx
test eax, eax
je 0x551af5
cmp word [esp + 0x80], 0
je 0x551af5
mov ecx, dword [eax]
jmp 0x551af7
xor ecx, ecx
lea esi, [edx*4]
mov dword [esp + 0x2c], ecx
lea eax, [esi + 0x20]
imul eax, ebx
add eax, ecx
add eax, eax
cdq
push edx
push eax
push dword [ebp]
call fcn.00503030
mov edx, eax
add esp, 0xc
mov dword [esp + 0x3c], edx
test edx, edx
jne 0x551b2f
pop edi
pop esi
pop ebp
lea eax, [edx + 7]
pop ebx
add esp, 0x68
ret
mov eax, ebx
xorps xmm0, xmm0
shl eax, 5
mov ebp, edx
lea ecx, [eax + edx]
mov dword [esp + 0x30], ebp
movups xmmword [ecx], xmm0
mov dword [esp + 0x1c], ecx
movups xmmword [ecx + 0x10], xmm0
add ecx, eax
lea eax, [ebx + ebx]
add edx, 0x18
mov dword [edx], ecx
lea edx, [edx + 0x20]
dec eax
add ecx, esi
test eax, eax
jg 0x551b53
mov edx, dword [esp + 0x2c]
test edx, edx
je 0x551b7e
lea eax, [edx + edx]
mov dword [esp + 0x40], ecx
push eax
push 0
push ecx
call sub.VCRUNTIME140.dll_memset
mov edx, dword [esp + 0x38]
add esp, 0xc
mov eax, dword [esp + 0x64]
movzx eax, word [eax + 0x98]
cmp ax, 0x30
jl 0x551b94
mov eax, 0x30
mov ebx, dword [esp + 0x1c]
mov cl, byte [esp + 0x11]
mov word [ebx + 0x10], ax
mov eax, 1
mov dword [esp + 0x60], eax
test edx, edx
je 0x551bc0
movzx eax, dl
or edx, 0xffffffff
test cl, cl
cmovne eax, edx
mov byte [ebx + 0x16], al
mov eax, 1
xor edx, edx
mov dword [esp + 0x34], edx
test cl, cl
je 0x55229b
mov esi, dword [esp + 0x28]
xor ecx, ecx
mov dword [esp + 0x18], ecx
test eax, eax
jle 0x552088
lea ebp, [ebx + 0x10]
mov dword [esp + 0x20], ebp
mov edi, dword [edi + 0x40]
mov dword [esp + 0x24], edi
test edi, edi
je 0x552060
mov edx, dword [ebp - 0x10]
mov ecx, edx
mov esi, dword [ebp - 0xc]
not ecx
and ecx, dword [edi]
mov eax, esi
not eax
and eax, dword [edi + 4]
or ecx, eax
jne 0x552049
mov eax, dword [edi + 0xc]
and edx, dword [edi + 8]
and eax, esi
or edx, eax
jne 0x552049
test dword [edi + 0x2c], 0x4000
je 0x551c35
cmp word [ebp], 3
jl 0x552049
mov ax, word [edi + 0x14]
movzx ebp, word [ebp]
movzx edi, word [edi + 0x12]
add ax, bp
movzx esi, ax
movsx ecx, di
movsx edx, si
cmp di, si
jl 0x551c77
lea eax, [edx + 0x31]
cmp ecx, eax
jle 0x551c5d
mov esi, edi
jmp 0x551c99
lea eax, [edx + 0x1f]
cmp ecx, eax
jle 0x551c69
lea eax, [edi + 1]
jmp 0x551c96
sub ecx, edx
movzx eax, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add ax, di
jmp 0x551c96
lea eax, [ecx + 0x31]
cmp edx, eax
jg 0x551c99
lea eax, [ecx + 0x1f]
cmp edx, eax
jle 0x551c8a
lea eax, [esi + 1]
jmp 0x551c96
sub edx, ecx
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, si
movzx esi, ax
mov eax, dword [esp + 0x20]
mov bx, si
mov dword [esp + 0x14], esi
movsx ecx, bx
movzx edi, word [eax + 4]
movsx edx, di
cmp bx, di
jl 0x551cdb
lea eax, [edx + 0x31]
cmp ecx, eax
jg 0x551d08
lea eax, [edx + 0x1f]
cmp ecx, eax
jle 0x551cc4
inc esi
jmp 0x551d01
sub ecx, edx
movzx eax, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add bx, ax
mov word [esp + 0x14], bx
mov esi, dword [esp + 0x14]
jmp 0x551d08
lea eax, [ecx + 0x31]
cmp edx, eax
jle 0x551ce6
mov esi, edi
jmp 0x551d01
lea eax, [ecx + 0x1f]
cmp edx, eax
jle 0x551cf2
lea eax, [edi + 1]
jmp 0x551cfe
sub edx, ecx
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, di
movzx esi, ax
mov dword [esp + 0x14], esi
mov bx, si
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x20]
mov ax, word [ecx + 0x16]
add ax, bp
movzx eax, ax
mov dword [esp + 0x38], eax
mov eax, dword [edx - 0x10]
or eax, dword [ecx + 8]
mov dword [esp + 0x6c], eax
mov eax, dword [edx - 0xc]
or eax, dword [ecx + 0xc]
mov dword [esp + 0x70], eax
mov al, byte [edx + 6]
mov byte [esp + 0x12], al
test al, al
jns 0x551d92
mov edi, dword [esp + 0x7c]
lea eax, [esp + 0x44]
push eax
movzx eax, word [edi + 0x28]
lea ebp, [edi + 0x28]
push ecx
push dword [esp + 0x3c]
xorps xmm0, xmm0
mov dword [esp + 0x74], ebp
push eax
lea eax, [edx - 0x10]
movlpd qword [esp + 0x54], xmm0
push eax
push dword [edi + 8]
push edi
call fcn.005510d0
mov ecx, dword [esp + 0x64]
mov ah, al
add esp, 0x1c
mov dword [esp + 0x4c], ecx
mov ecx, dword [esp + 0x44]
mov byte [esp + 0x12], ah
mov dword [esp + 0x44], ecx
test ah, ah
js 0x551f7e
mov ecx, edi
jmp 0x551daf
mov eax, dword [edx - 8]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x44], eax
mov eax, dword [edx - 4]
mov dword [esp + 0x4c], eax
lea eax, [ecx + 0x28]
mov dword [esp + 0x68], eax
mov ah, byte [esp + 0x12]
movzx edi, ah
cmp edi, dword [esp + 0x2c]
jge 0x551f7e
mov eax, dword [esp + 0x40]
movzx eax, word [eax + edi*2]
mov edx, eax
test ax, ax
jne 0x551eda
mov eax, dword [esp + 0x80]
movzx ebp, ax
mov eax, dword [ecx + 0x10]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax]
mov eax, 0x88888889
add ecx, 0x3b
imul ecx
add edx, ecx
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
push edx
push eax
call fcn.005159d0
add ax, word [esp + 0x88]
add esp, 8
movzx edx, ax
mov dword [esp + 0x14], edx
test edi, edi
je 0x551e45
mov eax, dword [esp + 0x2c]
sub eax, edi
imul eax, eax, 0x64
cdq
idiv dword [esp + 0x2c]
cdq
push edx
push eax
call fcn.005159d0
mov cx, word [esp + 0x1c]
sub ax, 0x42
add esp, 8
add cx, ax
mov word [esp + 0x14], cx
mov edx, dword [esp + 0x14]
jmp 0x551e4a
mov cx, word [esp + 0x14]
mov eax, dword [esp + 0x68]
movzx eax, word [eax]
test eax, 0x4000
je 0x551e88
lea ecx, [edx + 0xa]
test edi, edi
lea eax, [ecx + 6]
movzx edx, ax
movzx eax, cx
cmove edx, eax
mov eax, dword [esp + 0x7c]
movzx ecx, dx
movzx eax, word [eax + 0x2a]
cmp ax, word [esp + 0x80]
jge 0x551e80
mov ebp, eax
mov eax, ecx
mov dword [esp + 0x14], eax
jmp 0x551ea2
test eax, 0x100
je 0x551ea2
mov eax, dword [esp + 0x80]
cmp ax, 0xa
jle 0x551eae
add eax, 0xfffffff6
movzx ebp, ax
movzx edi, cx
movzx eax, bp
cmp bp, 0xa
jg 0x551eb3
movzx eax, cx
jmp 0x551ec8
cwde
cdq
push edx
push eax
call fcn.005159d0
lea ecx, [edi - 0x21]
add esp, 8
add ax, cx
movzx eax, ax
mov edi, dword [esp + 0x40]
movzx ecx, ax
movzx eax, byte [esp + 0x12]
mov edx, ecx
mov word [edi + eax*2], cx
movzx edi, dx
movsx ecx, bx
movsx edx, di
cmp bx, di
jl 0x551f35
lea eax, [edx + 0x31]
cmp ecx, eax
jle 0x551f01
movzx eax, bx
add eax, 3
movzx edx, ax
mov ah, byte [esp + 0x12]
jmp 0x551f8b
lea eax, [edx + 0x1f]
cmp ecx, eax
jle 0x551f1a
lea eax, [esi + 1]
movzx eax, ax
add eax, 3
movzx edx, ax
mov ah, byte [esp + 0x12]
jmp 0x551f8b
sub ecx, edx
movzx eax, byte [ecx + str._n_n_t_t_b_b_a_a_a]
add ax, bx
movzx eax, ax
add eax, 3
movzx edx, ax
mov ah, byte [esp + 0x12]
jmp 0x551f8b
lea eax, [ecx + 0x31]
cmp edx, eax
jle 0x551f4a
mov eax, edi
add eax, 3
movzx edx, ax
mov ah, byte [esp + 0x12]
jmp 0x551f8b
lea eax, [ecx + 0x1f]
cmp edx, eax
jle 0x551f63
lea eax, [edi + 1]
movzx eax, ax
add eax, 3
movzx edx, ax
mov ah, byte [esp + 0x12]
jmp 0x551f8b
sub edx, ecx
movzx eax, byte [edx + str._n_n_t_t_b_b_a_a_a]
add ax, di
movzx eax, ax
add eax, 3
movzx edx, ax
mov ah, byte [esp + 0x12]
jmp 0x551f8b
sub esi, 2
movzx edx, bx
mov dword [esp + 0x14], esi
mov bx, si
cmp dword [esp + 0x34], 0
mov edi, dword [esp + 0x24]
jne 0x551fae
test dword [edi + 0x2c], 0x2000000
je 0x551fae
cmp byte [esp + 0x11], 1
jbe 0x551fae
sub edx, 0xa
sub dword [esp + 0x38], 0x1e
mov esi, dword [esp + 0x30]
xor ecx, ecx
cmp dword [esp + 0x18], ecx
jle 0x551fe2
mov ebp, dword [esp + 0x6c]
nop
cmp dword [esi], ebp
jne 0x551fd8
mov edi, dword [esp + 0x70]
cmp dword [esi + 4], edi
mov edi, dword [esp + 0x24]
jne 0x551fd8
mov al, byte [esi + 0x16]
xor al, ah
jge 0x552013
inc ecx
add esi, 0x20
cmp ecx, dword [esp + 0x18]
jl 0x551fc0
mov ecx, dword [esp + 0x18]
cmp ecx, dword [esp + 0x50]
jl 0x552104
mov ebp, dword [esp + 0x5c]
cmp dx, bp
jg 0x5521df
jne 0x55200a
cmp bx, word [esp + 0x58]
jge 0x5521df
mov esi, dword [esp + 0x54]
jmp 0x55210b
cmp ecx, dword [esp + 0x18]
jge 0x551fe2
movzx eax, word [esi + 0x12]
cmp ax, dx
jl 0x552045
jne 0x552112
movzx eax, word [esi + 0x10]
mov ecx, dword [esp + 0x38]
cmp ax, cx
jl 0x552045
jne 0x552112
cmp word [esi + 0x14], bx
jg 0x552112
mov ebp, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edi, dword [edi + 0x3c]
mov dword [esp + 0x24], edi
test edi, edi
jne 0x551bf6
mov eax, dword [esp + 0x60]
mov edi, dword [esp + 0x7c]
add ebp, 0x20
sub eax, 1
mov dword [esp + 0x20], ebp
mov dword [esp + 0x60], eax
jne 0x551be7
mov ebp, dword [esp + 0x30]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x1c]
mov esi, dword [esp + 0x28]
mov eax, ebp
mov dword [esp + 0x30], ebx
mov ebp, ebx
inc edx
mov dword [esp + 0x34], edx
mov ebx, eax
mov dword [esp + 0x1c], ebx
mov eax, ecx
mov dword [esp + 0x60], eax
cmp edx, esi
jl 0x551bd2
test ecx, ecx
jne 0x55229b
mov ebx, dword [esp + 0x64]
push str.no_query_solution
push ebx
call fcn.00505000
mov ecx, dword [ebx]
add esp, 8
mov ebx, dword [esp + 0x3c]
test ecx, ecx
je 0x55222b
cmp ebx, dword [ecx + 0x164]
jae 0x55220b
cmp ebx, dword [ecx + 0x15c]
jb 0x5521e8
mov eax, dword [ecx + 0x158]
pop edi
pop esi
mov dword [ebx], eax
mov eax, 1
pop ebp
mov dword [ecx + 0x158], ebx
pop ebx
add esp, 0x68
ret
mov esi, ecx
inc ecx
mov dword [esp + 0x18], ecx
shl esi, 5
add esi, dword [esp + 0x30]
mov ebp, dword [esp + 0x20]
mov eax, dword [ebp - 0xc]
or eax, dword [edi + 0xc]
mov ecx, dword [ebp - 0x10]
or ecx, dword [edi + 8]
mov dword [esi + 4], eax
mov eax, dword [esp + 0x44]
mov dword [esi + 8], eax
mov eax, dword [esp + 0x4c]
mov dword [esi + 0xc], eax
mov eax, dword [esp + 0x38]
mov word [esi + 0x10], ax
mov al, byte [esp + 0x12]
mov byte [esi + 0x16], al
mov eax, dword [esp + 0x34]
mov dword [esi], ecx
mov word [esi + 0x12], dx
mov word [esi + 0x14], bx
lea edi, [eax*4]
push edi
push dword [ebp + 8]
push dword [esi + 0x18]
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [esi + 0x18]
add esp, 0xc
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x50]
mov dword [edi + eax], ecx
mov ecx, dword [esp + 0x18]
cmp ecx, esi
jl 0x5521d6
mov eax, dword [esp + 0x30]
mov ecx, 1
mov dword [esp + 0x54], 0
movzx ebp, word [eax + 0x12]
movzx ebx, word [eax + 0x10]
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x58], ebx
cmp esi, ecx
jbe 0x5521cd
add eax, 0x34
movzx edx, word [eax - 2]
cmp dx, bp
jg 0x5521b4
jne 0x5521bd
cmp word [eax], bx
jle 0x5521bd
movzx ebx, word [eax]
mov ebp, edx
mov dword [esp + 0x54], ecx
inc ecx
add eax, 0x20
cmp ecx, esi
jl 0x5521a4
mov dword [esp + 0x58], ebx
mov dword [esp + 0x5c], ebp
mov edi, dword [esp + 0x24]
jmp 0x552045
mov edi, dword [esp + 0x24]
jmp 0x55204d
mov ebp, dword [esp + 0x20]
jmp 0x55204d
cmp ebx, dword [ecx + 0x160]
jb 0x55220b
mov eax, dword [ecx + 0x150]
pop edi
pop esi
mov dword [ebx], eax
mov eax, 1
pop ebp
mov dword [ecx + 0x150], ebx
pop ebx
add esp, 0x68
ret
cmp dword [ecx + 0x210], 0
je 0x55222b
push ebx
push ecx
call fcn.004e5ae0
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
cmp dword [0x78d018], 0
je 0x552284
mov eax, dword [0x7935d8]
test eax, eax
je 0x552247
push eax
call dword [0x78d068]
add esp, 4
push ebx
call dword [0x78d044]
sub dword [0x793570], eax
dec dword [0x793594]
push ebx
call dword [0x78d03c]
mov eax, dword [0x7935d8]
add esp, 8
test eax, eax
je 0x55228e
push eax
call dword [0x78d070]
add esp, 4
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
push ebx
call dword [0x78d03c]
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x68
ret
cmp eax, 1
jle 0x5522c7
lea ecx, [ebx + 0x20]
lea edx, [eax - 1]
nop word [eax + eax]
mov ax, word [ebx + 0x12]
cmp ax, word [ecx + 0x12]
cmovg ebx, ecx
add ecx, 0x20
sub edx, 1
jne 0x5522b0
mov dword [esp + 0x1c], ebx
mov ebp, dword [esp + 0x7c]
xor esi, esi
cmp byte [esp + 0x11], 0
jbe 0x552310
lea edx, [ebp + 0x334]
nop word [eax + eax]
mov eax, dword [ebx + 0x18]
lea edx, [edx + 0x60]
mov eax, dword [eax + esi*4]
inc esi
mov dword [edx - 0x4c], eax
mov al, byte [eax + 0x10]
mov byte [edx - 0x60], al
movzx eax, al
lea ecx, [eax + eax*8]
mov eax, dword [ebp + 4]
mov eax, dword [eax + ecx*8 + 0x34]
mov ecx, dword [esp + 0x28]
mov dword [edx - 0x98], eax
cmp esi, ecx
jl 0x5522e0
jmp 0x552314
mov ecx, dword [esp + 0x28]
mov ax, word [ebp + 0x28]
mov edx, 0x180
and ax, dx
mov edx, 0x100
cmp ax, dx
jne 0x55236b
cmp byte [ebp + 0x2f], 0
jne 0x55236b
cmp word [esp + 0x80], 0
je 0x55236b
lea eax, [esp + 0x70]
push eax
mov eax, dword [ebx + 0x18]
push dword [eax + ecx*4 - 4]
lea eax, [ecx - 1]
push eax
push 0x80
push ebx
push dword [ebp + 0xc]
push ebp
call fcn.005510d0
movsx ecx, al
add esp, 0x1c
mov eax, dword [ebp + 0xc]
cmp ecx, dword [eax]
jne 0x55236b
mov byte [ebp + 0x2f], 2
mov edx, dword [ebp + 0x30]
mov edi, dword [ebp + 8]
and edx, 0xfffffffb
mov dword [ebp + 0x30], edx
test edi, edi
je 0x5524d6
movzx eax, word [ebp + 0x28]
mov bl, byte [ebx + 0x16]
mov byte [ebp + 0x2d], bl
test al, al
jns 0x5523be
mov edx, dword [esp + 0x1c]
movsx eax, byte [edx + 0x16]
cmp eax, dword [edi]
jne 0x55239d
mov byte [ebp + 0x2f], 2
mov eax, dword [ebp + 0x10]
mov ecx, dword [eax + 0x30]
test ecx, ecx
je 0x5523b3
mov ecx, dword [ecx]
movsx eax, bl
cmp eax, ecx
jle 0x5523b3
mov byte [ebp + 0x2d], cl
mov cl, byte [esp + 0x11]
mov esi, edi
jmp 0x552479
mov ecx, dword [esp + 0x1c]
mov esi, edi
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x4c], ecx
test bl, bl
jg 0x552458
cmp byte [esp + 0x11], 0
mov byte [ebp + 0x2d], 0
jbe 0x552452
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0x18]
mov ebx, dword [eax + ecx*4 - 4]
mov eax, dword [ebx + 0x2c]
and eax, 0x104
cmp eax, 0x104
setne cl
bt dword [ebx + 0x2c], 0xc
setae al
test al, cl
je 0x552452
lea eax, [esp + 0x70]
xorps xmm0, xmm0
push eax
mov eax, dword [esp + 0x2c]
push ebx
dec eax
movlpd qword [esp + 0x78], xmm0
push eax
push 0x800
push dword [esp + 0x2c]
push edi
push ebp
call fcn.005510d0
mov esi, dword [ebp + 8]
add esp, 0x1c
movsx eax, al
cmp eax, dword [esi]
jne 0x552452
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
or dword [ebp + 0x30], 4
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x4c], ecx
mov cl, byte [esp + 0x11]
jmp 0x552475
mov cl, byte [esp + 0x11]
test cl, cl
je 0x552475
mov esi, edi
cmp bl, 1
jne 0x552475
movzx eax, word [ebp + 0x28]
test al, 3
je 0x552475
or edx, 4
mov dword [ebp + 0x30], edx
mov edx, dword [esp + 0x1c]
mov eax, 0x200
test word [ebp + 0x28], ax
je 0x5524d6
movsx eax, byte [ebp + 0x2d]
cmp eax, dword [esi]
jne 0x5524d6
test cl, cl
je 0x5524d6
mov ecx, dword [esp + 0x28]
lea eax, [esp + 0x70]
push eax
mov eax, dword [edx + 0x18]
xorps xmm0, xmm0
movlpd qword [esp + 0x74], xmm0
push dword [eax + ecx*4 - 4]
lea eax, [ecx - 1]
push eax
push 0
push edx
push esi
push ebp
call fcn.005510d0
movsx ecx, al
add esp, 0x1c
mov eax, dword [ebp + 8]
cmp ecx, dword [eax]
jne 0x5524d6
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
or dword [ebp + 0x30], 8
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x4c], ecx
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x3c]
mov ax, word [eax + 0x10]
mov word [ebp + 0x34], ax
mov eax, dword [esp + 0x64]
mov ecx, dword [eax]
test ecx, ecx
je 0x552555
cmp ebx, dword [ecx + 0x164]
jae 0x552538
cmp ebx, dword [ecx + 0x15c]
jb 0x552518
mov eax, dword [ecx + 0x158]
pop edi
pop esi
mov dword [ebx], eax
xor eax, eax
pop ebp
mov dword [ecx + 0x158], ebx
pop ebx
add esp, 0x68
ret
cmp ebx, dword [ecx + 0x160]
jb 0x552538
mov eax, dword [ecx + 0x150]
pop edi
pop esi
mov dword [ebx], eax
xor eax, eax
pop ebp
mov dword [ecx + 0x150], ebx
pop ebx
add esp, 0x68
ret
cmp dword [ecx + 0x210], 0
je 0x552555
push ebx
push ecx
call fcn.004e5ae0
add esp, 8
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
cmp dword [0x78d018], 0
je 0x5525ab
mov eax, dword [0x7935d8]
test eax, eax
je 0x552571
push eax
call dword [0x78d068]
add esp, 4
push ebx
call dword [0x78d044]
sub dword [0x793570], eax
dec dword [0x793594]
push ebx
call dword [0x78d03c]
mov eax, dword [0x7935d8]
add esp, 8
test eax, eax
je 0x5525b5
push eax
call dword [0x78d070]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x68
ret
push ebx
call dword [0x78d03c]
add esp, 4
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x68
ret