Function at 0x7e5710
Capabilities:
Check for software breakpoints
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xac]
cmp eax, dword [ecx + 8]
jbe 0x7e6968
sub esp, 0x12c
mov eax, dword [esp + 0x130]
movzx ecx, byte [eax + 8]
test cl, cl
jne 0x7e6961
mov byte [eax + 8], 1
mov ecx, dword [eax]
mov dword [esp + 0x58], ecx
mov edx, dword [ecx]
mov edx, dword [edx]
mov dword [esp], edx
call fcn.007ec560
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 4]
movzx edx, byte [esp + 4]
mov ebx, dword [ecx]
cmp dword [ecx + 4], 4
jne 0x7e695a
cmp dword [ebx], 0x44414548
sete cl
mov byte [esp + 0x37], dl
mov byte [esp + 0x38], cl
mov ebx, dword [esp + 0x130]
mov ebp, dword [ebx + 4]
test ebp, ebp
je 0x7e6952
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], 0
mov dword [esp + 0x98], 0
mov byte [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
lea ecx, [0x804050]
mov dword [esp + 0x98], ecx
setne cl
mov byte [esp + 0x9c], cl
mov dword [esp + 0xa0], ebp
lea ecx, [esp + 0x68]
mov dword [esp + 0xa4], ecx
lea edi, [esp + 0xcc]
xor eax, eax
call fcn.004572a4
mov ecx, dword [ebx + 4]
mov dword [esp + 0x8c], ecx
lea edi, [esp + 0xfc]
call fcn.004572a4
lea ecx, [0x969600]
mov dword [esp], ecx
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], edx
lea edx, [esp + 0xfc]
mov dword [esp + 8], edx
call fcn.0040cc50
xor eax, eax
jmp 0x7e5859
mov byte [esp + 0x35], al
lea ecx, [esp + 0xfc]
mov dword [esp], ecx
call fcn.0040cec0
movzx eax, byte [esp + 0x35]
mov byte [esp + 0x35], al
mov ecx, dword [esp + 0xfc]
test ecx, ecx
je 0x7e58fc
mov edx, dword [ecx + 4]
mov dword [esp + 0x48], edx
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
cmp edx, 8
jge 0x7e58ce
xor ebx, ebx
test bl, bl
je 0x7e5841
mov eax, dword [esp + 0x68]
test eax, eax
je 0x7e58b8
lea eax, [0x8f0da0]
mov dword [esp], eax
mov ebx, dword [esp + 0x68]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.004103d0
mov eax, dword [esp + 0x10]
mov byte [eax], 1
mov eax, 1
jmp 0x7e5841
call fcn.0040b960
mov eax, dword [esp]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
jmp 0x7e588c
mov dword [esp], ecx
lea eax, [0x985bd1]
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.00402300
movzx ebx, byte [esp + 0xc]
movzx eax, byte [esp + 0x35]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
jmp 0x7e5880
mov eax, dword [esp + 0x130]
mov ecx, dword [eax + 4]
lea edx, [0x969600]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [0x984a97]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 7
call fcn.0040fcc0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov dword [esp + 0x54], ecx
mov eax, dword [eax]
mov dword [esp + 0x88], eax
xor edx, edx
movzx ebx, byte [esp + 0x35]
jmp 0x7e59b4
mov dword [esp + 0x50], edx
lea ecx, [eax + edx*8]
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx]
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
lea ebp, [0x80e9c0]
mov dword [esp + 0x90], ebp
mov esi, dword [esp + 0x130]
mov edi, dword [esi]
mov dword [esp + 0x94], edi
mov dword [esp], ecx
mov dword [esp + 4], ebx
lea ecx, [esp + 0x90]
mov dword [esp + 8], ecx
call fcn.007e6980
mov eax, dword [esp + 0x50]
lea edx, [eax + 1]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x54]
mov ebx, 1
cmp edx, ecx
jl 0x7e5947
mov byte [esp + 0x35], bl
lea eax, [0x969600]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x98c08d]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x11
call fcn.0040fcc0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jle 0x7e6949
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x5c], eax
mov dword [esp + 0x40], ecx
mov edx, dword [esp + 0x58]
lea ebx, [edx + 0x54]
mov dword [esp], ebx
call fcn.0045db20
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
test ecx, ecx
test eax, eax
je 0x7e6942
movzx eax, byte [esp + 0x35]
test al, al
je 0x7e68ad
xor eax, eax
test al, al
je 0x7e689c
movzx eax, byte [esp + 0x38]
test al, al
je 0x7e688b
mov edx, dword [esp + 0x138]
test edx, edx
setg bl
test bl, bl
jne 0x7e680f
mov ebx, dword [esp + 0x58]
movzx ebp, byte [ebx + 0x16]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x7e6805
movzx ebp, byte [esp + 0x37]
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x7e6723
cmp dword [ebx + 0x38], 0xffffffff
xchg esi, ebx
setne bl
xchg esi, ebx
cmp dword [ebx + 0x3c], 0xffffffff
xchg edi, ebx
setne bl
xchg edi, ebx
or edi, esi
xchg edi, eax
mov byte [esp + 0x39], al
xchg edi, eax
movzx esi, byte [ebx + 0x16]
xchg esi, eax
test al, al
xchg esi, eax
je 0x7e5ab9
test al, al
je 0x7e66e3
mov eax, 1
test al, al
jne 0x7e6691
mov eax, dword [ebx + 4]
mov esi, dword [eax + 0x14]
cmp esi, 1
jle 0x7e667c
mov eax, 1
test al, al
je 0x7e5ad9
movzx eax, byte [ebx + 0x17]
test al, al
je 0x7e5add
mov byte [ebx + 0x44], 1
lea eax, [0x969600]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x987076]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.0040fcc0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jle 0x7e6673
mov ecx, dword [eax + 4]
mov eax, dword [eax]
cmp ecx, 5
jne 0x7e665d
cmp dword [eax], 0x736f6c63
jne 0x7e665d
cmp byte [eax + 4], 0x65
jne 0x7e665d
mov eax, dword [esp + 0x58]
mov byte [eax + 0x44], 1
mov ecx, dword [eax + 4]
mov ebx, dword [ecx + 0x24]
lea ebp, [0xa51a60]
cmp dword [ecx + 0x20], ebp
jne 0x7e6653
jne 0x7e5b65
movzx ecx, byte [ebx + 0xd]
test cl, cl
je 0x7e664a
mov ecx, dword [eax + 4]
mov ebx, dword [ecx + 0x2c]
test ebx, ebx
setne bl
mov esi, dword [ecx + 0x30]
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x7e5b90
movzx ebx, byte [eax + 0x44]
test bl, bl
je 0x7e639c
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x44], ecx
nop
cmp ecx, 0x64
jl 0x7e62fb
cmp ecx, 0xc7
jg 0x7e62fb
cmp ecx, 0x130
jne 0x7e62cb
mov ebx, dword [0xdba1e8]
mov ebp, dword [0xdba1ec]
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x84], ebx
xor edx, edx
jmp 0x7e5c11
mov dword [esp + 0x54], edx
lea eax, [ebx + edx*8]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov eax, dword [esp + 0x54]
lea edx, [eax + 1]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x3c]
cmp edx, ebp
jl 0x7e5bd4
lea eax, [0x969600]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea ecx, [0x9823cc]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
call fcn.00410030
movzx eax, byte [esp + 0x14]
test al, al
je 0x7e6254
movzx eax, byte [esp + 0x39]
test al, al
je 0x7e624b
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x7e5c75
cmp ecx, 8
je 0x7e622c
mov edx, 1
test dl, dl
jne 0x7e6139
mov ebx, dword [esp + 0x58]
mov ebp, dword [ebx + 4]
mov esi, dword [ebp]
cmp dword [ebp + 4], 4
jne 0x7e612d
cmp dword [esi], 0x44414548
jne 0x7e5f1a
mov eax, dword [esp + 0x130]
movzx ecx, byte [eax + 9]
test cl, cl
jne 0x7e5ee9
mov ecx, dword [ebx + 4]
mov ebp, dword [ecx + 0x14]
cmp ebp, 1
jle 0x7e5ed3
mov ecx, 1
test cl, cl
je 0x7e5ecc
movzx ecx, byte [ebx + 0x44]
test cl, cl
je 0x7e5ec5
movzx ecx, byte [esp + 0x37]
test cl, cl
jne 0x7e5e50
mov ecx, 1
test cl, cl
jne 0x7e5de0
mov ecx, dword [ebx + 4]
mov edx, dword [ecx + 0x14]
cmp edx, 1
jle 0x7e5dcb
mov ecx, 1
mov eax, dword [ebx]
mov eax, dword [eax + 0x2c]
mov dword [esp], eax
mov byte [esp + 4], cl
mov eax, dword [esp + 0x44]
mov dword [esp + 8], eax
lea eax, [ebx + 0x7f]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 3
call fcn.007e6ab0
mov eax, dword [esp + 0x58]
mov ecx, dword [eax]
mov edx, dword [esp + 0x130]
mov edx, dword [edx + 4]
mov ebx, dword [esp + 0x68]
mov ecx, dword [ecx + 0x2c]
mov dword [esp], edx
lea edx, [0xa4d5a0]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 0
call fcn.007daee0
mov eax, dword [esp + 0x58]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x80], ecx
mov edi, esp
lea esi, [esp + 0xcc]
call fcn.00457748
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x30], ecx
call fcn.007e54b0
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0x2c]
mov dword [esp], eax
mov eax, dword [0xdba118]
mov ecx, dword [0xdba11c]
mov edx, dword [0xdba120]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.0063d8c0
add esp, 0x12c
ret
jne 0x7e5dd9
cmp dword [ecx + 0x18], 1
setge cl
jmp 0x7e5cfe
xor ecx, ecx
jmp 0x7e5cfe
lea eax, [0x987076]
mov dword [esp], eax
mov dword [esp + 4], 0xa
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 4]
mov ebx, dword [ecx + 0x14]
cmp ebx, 1
jle 0x7e5e41
mov ecx, 1
test cl, cl
je 0x7e5e31
lea ecx, [0x982f9c]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], 5
mov eax, dword [esp + 0x130]
mov ebx, dword [esp + 0x58]
jmp 0x7e5cea
jne 0x7e5e4c
cmp dword [ecx + 0x18], 1
setge cl
jmp 0x7e5e15
xor ecx, ecx
jmp 0x7e5e15
mov ecx, dword [eax + 4]
lea edx, [0x969600]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [0x987076]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xa
call fcn.0040fcc0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jle 0x7e5ebf
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x982f9c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
call fcn.007db2f0
movzx ecx, byte [esp + 0x10]
xor ecx, 1
mov eax, dword [esp + 0x130]
mov ebx, dword [esp + 0x58]
jmp 0x7e5ce2
xor ecx, ecx
xor eax, eax
jmp 0x7e5e89
xor ecx, ecx
jmp 0x7e5ce2
add esp, 0x12c
ret
jne 0x7e5ee2
mov ecx, dword [ecx + 0x18]
test ecx, ecx
setge cl
jmp 0x7e5cbc
xor ecx, ecx
jmp 0x7e5cbc
lea eax, [0x9899b8]
mov dword [esp], eax
mov dword [esp + 4], 0xe
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov eax, dword [esp + 0x130]
mov ebx, dword [esp + 0x58]
jmp 0x7e5ca8
mov esi, dword [esp + 0x44]
cmp esi, 0x64
jl 0x7e6105
cmp esi, 0xc7
jg 0x7e6105
xor edx, edx
test dl, dl
je 0x7e5c95
cmp esi, 0xcc
je 0x7e60d0
test al, al
jne 0x7e609b
mov eax, dword [ebp + 0x14]
cmp eax, 1
jle 0x7e6086
mov eax, 1
test al, al
je 0x7e604d
test ecx, ecx
je 0x7e6044
cmp ecx, 8
jne 0x7e603e
mov eax, dword [esp + 0x5c]
cmp dword [eax], 0x6e656469
jne 0x7e6037
cmp dword [eax + 4], 0x79746974
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x7e5fb3
mov eax, dword [esp + 0x130]
mov byte [eax + 9], 0
mov byte [ebx + 0x44], 1
jmp 0x7e5c95
test ecx, ecx
mov ebp, dword [esp + 0x130]
mov byte [ebp + 9], 1
lea edi, [0x984cea]
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], 7
je 0x7e5ffa
cmp ecx, 7
jne 0x7e6033
cmp dword [eax], 0x6e756863
jne 0x7e6033
cmp word [eax + 4], 0x656b
jne 0x7e6033
cmp byte [eax + 6], 0x64
sete al
test al, al
jne 0x7e6001
mov eax, ebp
jmp 0x7e5c95
lea eax, [0x98c08d]
mov dword [esp], eax
mov dword [esp + 4], 0x11
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0x130]
mov esi, dword [esp + 0x44]
jmp 0x7e5ffa
xor eax, eax
jmp 0x7e5ff6
xor ebp, ebp
jmp 0x7e5f99
mov eax, dword [esp + 0x5c]
jmp 0x7e6037
mov eax, dword [esp + 0x5c]
jmp 0x7e5fb5
mov byte [ebx + 0x44], 1
lea eax, [0x98c08d]
mov dword [esp], eax
mov dword [esp + 4], 0x11
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov eax, dword [esp + 0x130]
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x44]
jmp 0x7e5c95
jne 0x7e6094
cmp dword [ebp + 0x18], 1
setge al
jmp 0x7e5f62
xor eax, eax
jmp 0x7e5f62
lea eax, [0x98c08d]
mov dword [esp], eax
mov dword [esp + 4], 0x11
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov eax, dword [esp + 0x130]
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x44]
jmp 0x7e5c95
lea eax, [0x98c08d]
mov dword [esp], eax
mov dword [esp + 4], 0x11
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov eax, dword [esp + 0x130]
mov ebx, dword [esp + 0x58]
mov esi, dword [esp + 0x44]
jmp 0x7e5c95
cmp esi, 0xcc
jne 0x7e6114
xor edx, edx
jmp 0x7e5f35
cmp esi, 0x130
jne 0x7e6123
xor edx, edx
jmp 0x7e5f35
mov edx, 1
jmp 0x7e5f35
mov esi, dword [esp + 0x44]
cmp esi, 0x64
jmp 0x7e5f21
mov eax, dword [esp + 0x5c]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.004086a0
mov eax, dword [esp + 8]
mov dword [esp + 0x7c], eax
mov ecx, dword [esp + 0x58]
mov edx, dword [ecx + 0x38]
mov ebx, dword [ecx + 0x3c]
mov dword [esp], edx
mov dword [esp + 4], ebx
call fcn.00408630
mov eax, dword [esp + 8]
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
lea ecx, [0x8eba40]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0xac], ecx
lea ecx, [0x8eadc0]
mov dword [esp + 0xb0], ecx
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [eax]
mov ecx, dword [ecx]
mov dword [esp], ecx
lea ecx, [0x9aabc2]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x55
lea ecx, [esp + 0xa8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 2
call fcn.007ec630
lea eax, [0x9899b8]
mov dword [esp], eax
mov dword [esp + 4], 0xe
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0x98]
call ecx
mov ecx, dword [esp + 0x40]
xor eax, eax
jmp 0x7e5c75
mov ebx, dword [esp + 0x5c]
cmp dword [ebx], 0x6e656469
jne 0x7e5c68
cmp dword [ebx + 4], 0x79746974
setne dl
jmp 0x7e5c6d
mov ecx, dword [esp + 0x40]
jmp 0x7e5c75
mov eax, dword [esp + 0x130]
mov ecx, dword [eax]
mov dword [esp + 0x78], ecx
test byte [ecx], al
call fcn.004b1900
lea edi, [esp + 0xb8]
mov esi, esp
call fcn.0045778e
mov eax, dword [esp + 0x78]
add eax, 0x58
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1d
lea edi, [esp + 0xc]
lea esi, [esp + 0xb8]
call fcn.0045778e
call fcn.007e3d40
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], edx
jmp 0x7e5c4a
nop
cmp ecx, 0x64
jl 0x7e62ea
cmp ecx, 0xc7
jg 0x7e62ea
mov ebx, dword [0xdba1f8]
mov ebp, dword [0xdba1fc]
jmp 0x7e5bc5
cmp ecx, 0xcc
je 0x7e62d9
xor ebp, ebp
xor ebx, ebx
jmp 0x7e5bc5
cmp ecx, 0xcc
je 0x7e5bad
cmp ecx, 0x130
je 0x7e5bad
lea eax, [0x969600]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x98845f]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xc
call fcn.00410030
movzx eax, byte [esp + 0x14]
test al, al
jne 0x7e5c15
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x7e5c15
mov ecx, dword [esp + 0x138]
test ecx, ecx
jle 0x7e5c15
mov eax, dword [esp + 0x134]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x13c]
mov dword [esp + 8], eax
call fcn.007ed0d0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
jmp 0x7e5c15
mov ebx, dword [ecx + 0x24]
mov ecx, dword [ecx + 0x20]
test ecx, ecx
je 0x7e6571
mov esi, dword [ecx + 8]
cmp esi, 0x1a0af671
jne 0x7e6643
lea edi, [0xa51a00]
cmp edi, ecx
jne 0x7e6637
mov edx, ebx
je 0x7e6587
cmp esi, 0x2b9fd821
jne 0x7e6571
cmp ebp, ecx
jne 0x7e657d
jne 0x7e6571
mov ecx, dword [edx]
movzx ecx, byte [ecx + 0x15]
xor edx, edx
test cl, cl
jne 0x7e6447
test dl, dl
je 0x7e5b90
mov dword [esp], eax
call fcn.007e2700
lea eax, [0x987076]
mov dword [esp], eax
mov dword [esp + 4], 0xa
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0x98]
call ecx
lea eax, [0x982f9c]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], 5
mov eax, dword [esp + 0x58]
jmp 0x7e5b90
mov byte [esp + 0x36], dl
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
lea ebx, [0x902a20]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.004088f0
mov eax, dword [0xdb97f4]
mov ecx, dword [0xdb97f0]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 0x40001
mov dword [esp + 0x14], 0
call fcn.004961a0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
test eax, eax
je 0x7e6563
cmp dword [0xdc3140], eax
je 0x7e6521
cmp dword [0xdc3060], eax
je 0x7e64d3
mov eax, dword [esp + 0x58]
mov byte [eax + 0x44], 1
movzx ecx, byte [esp + 0x36]
mov edx, ecx
jmp 0x7e63f5
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [0xdc3064]
mov dword [esp + 8], eax
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x7e64bf
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov ecx, dword [ecx + 0x10]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
test eax, eax
je 0x7e651b
mov eax, dword [esp + 0x58]
mov byte [eax + 0x44], 1
movzx ecx, byte [esp + 0x36]
jmp 0x7e64cc
mov eax, dword [esp + 0x58]
jmp 0x7e6514
mov dword [esp + 0x4c], eax
mov dword [esp + 0x6c], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [0xdc3144]
mov dword [esp + 8], edx
call fcn.00402f30
movzx eax, byte [esp + 0xc]
test al, al
je 0x7e6556
mov eax, dword [esp + 0x58]
movzx ecx, byte [esp + 0x36]
jmp 0x7e64cc
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x6c]
jmp 0x7e64b7
mov eax, dword [esp + 0x58]
mov ecx, 1
jmp 0x7e64cc
mov ecx, 1
xor edx, edx
jmp 0x7e63f1
mov edx, 0
jmp 0x7e63e3
mov dword [esp + 0x70], ebx
test byte [ebx], al
lea eax, [ebx + 0x18]
mov dword [esp + 0x74], eax
mov dword [esp], eax
call fcn.004723c0
mov eax, dword [esp + 0x70]
movzx ecx, byte [eax + 0x21]
test cl, cl
je 0x7e65e5
movzx eax, byte [eax + 0x20]
test al, al
je 0x7e65db
xor eax, eax
xor ecx, ecx
mov byte [esp + 0x3b], cl
mov byte [esp + 0x3a], al
mov edx, dword [esp + 0x74]
mov dword [esp], edx
call fcn.00472790
mov eax, dword [esp + 0x58]
movzx ecx, byte [esp + 0x3a]
movzx edx, byte [esp + 0x3b]
jmp 0x7e63f1
mov eax, dword [esp + 0x58]
mov byte [eax + 0x44], 1
jmp 0x7e65b0
mov ecx, dword [eax + 4]
lea edx, [0xa4df20]
cmp dword [eax], edx
jne 0x7e6630
jne 0x7e6624
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
cmp eax, 0x40000
setae al
test ecx, ecx
setg cl
sete dl
and edx, eax
or edx, ecx
test dl, dl
je 0x7e661b
xor eax, eax
mov ecx, 1
jmp 0x7e65b4
mov eax, 1
xor ecx, ecx
jmp 0x7e65b4
mov eax, 0xffffffff
mov ecx, 0xffffffff
jmp 0x7e65fa
mov ecx, 0
jmp 0x7e65f2
mov edx, ebx
mov ebx, 0
jmp 0x7e63c9
mov edx, ebx
jmp 0x7e63cf
mov byte [eax + 0x44], 1
jmp 0x7e5b65
mov ebx, 0
jmp 0x7e5b57
movzx eax, byte [esp + 0x37]
test al, al
je 0x7e5b3a
mov eax, dword [esp + 0x58]
jmp 0x7e5b42
xor ecx, ecx
xor eax, eax
jmp 0x7e5b1b
jne 0x7e668a
cmp dword [eax + 0x18], 1
setge al
jmp 0x7e5acd
xor eax, eax
jmp 0x7e5acd
lea eax, [0x969600]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x987076]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.00410030
movzx eax, byte [esp + 0x14]
test al, al
jne 0x7e5add
lea eax, [0x987602]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], 0xa
jmp 0x7e5add
xchg edi, eax
test al, al
xchg edi, eax
jne 0x7e5aac
mov eax, dword [ebx + 0x40]
cmp eax, 0x64
jl 0x7e6706
cmp eax, 0xc7
jg 0x7e6706
xor eax, eax
xor eax, 1
jmp 0x7e5ab1
cmp eax, 0xcc
jne 0x7e6711
xor eax, eax
jmp 0x7e66fe
cmp eax, 0x130
jne 0x7e671c
xor eax, eax
jmp 0x7e66fe
mov eax, 1
jmp 0x7e66fe
lea eax, [0x969600]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x9899b8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xe
call fcn.0040fcc0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jle 0x7e67fe
mov eax, dword [ecx + 4]
test eax, eax
jne 0x7e6795
xor eax, eax
test al, al
je 0x7e678f
mov eax, dword [esp + 0x58]
mov byte [eax + 0x44], 0
movzx eax, byte [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x138]
mov ebx, dword [esp + 0x58]
movzx ebp, byte [esp + 0x37]
jmp 0x7e5a7c
mov eax, dword [esp + 0x58]
jmp 0x7e6771
lea eax, [0x969600]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x987076]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.0040fcc0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jle 0x7e67f8
mov ecx, dword [eax + 4]
mov eax, dword [eax]
cmp ecx, 0xa
je 0x7e67d8
xor eax, eax
jmp 0x7e6765
mov dword [esp], eax
lea eax, [0x987602]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00402300
movzx eax, byte [esp + 0xc]
jmp 0x7e6765
xor ecx, ecx
xor eax, eax
jmp 0x7e67cf
xor eax, eax
jmp 0x7e675f
movzx ebp, byte [esp + 0x37]
jmp 0x7e5a7c
mov eax, dword [esp + 0x58]
mov dword [eax + 0x38], edx
mov ecx, edx
sar edx, 0x1f
mov dword [eax + 0x3c], edx
mov ebx, dword [esp + 0x130]
mov ebp, dword [ebx]
test byte [ebp], al
add ebp, 0x75
mov dword [esp], ebp
mov dword [esp + 4], 0
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], 0xa
call fcn.0046da60
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x18]
mov dword [esp + 0xf0], edx
mov dword [esp + 0xf4], eax
mov dword [esp + 0xf8], ecx
movzx eax, byte [esp + 0x38]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x138]
jmp 0x7e5a5b
mov edx, dword [esp + 0x138]
mov ebx, 1
jmp 0x7e5a53
movzx eax, byte [esp + 0x38]
mov edx, dword [esp + 0x138]
jmp 0x7e5a5b
test ecx, ecx
je 0x7e68b8
xor eax, eax
jmp 0x7e5a32
mov eax, dword [esp + 0x58]
mov edx, dword [eax + 0x40]
cmp edx, 0x64
jl 0x7e6923
cmp edx, 0xc7
jg 0x7e6923
xor edx, edx
test dl, dl
jne 0x7e68d9
xor eax, eax
jmp 0x7e5a32
lea eax, [0x969600]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x9899b8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xe
call fcn.0040fcc0
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jle 0x7e691f
mov eax, dword [ecx + 4]
test eax, eax
sete al
mov ecx, dword [esp + 0x40]
jmp 0x7e5a32
xor eax, eax
jmp 0x7e6911
cmp edx, 0xcc
jne 0x7e692f
xor edx, edx
jmp 0x7e68ce
cmp edx, 0x130
jne 0x7e693b
xor edx, edx
jmp 0x7e68ce
mov edx, 1
jmp 0x7e68ce
xor eax, eax
jmp 0x7e5a32
xor eax, eax
xor ecx, ecx
jmp 0x7e59fa
mov ebp, dword [eax + 0x28]
jmp 0x7e5797
xor ecx, ecx
jmp 0x7e577d
add esp, 0x12c
ret
call fcn.004557a0
jmp fcn.007e5710