Function at 0x618480
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 0x6195ed
sub esp, 0x12c
mov eax, dword [esp + 0x130]
movzx ecx, byte [eax + 8]
test cl, cl
jne 0x6195e6
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.0061e7f0
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 4]
movzx edx, byte [esp + 4]
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx]
cmp ebx, 4
jne 0x6195df
mov ecx, dword [ecx]
cmp ecx, 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 0x6195d7
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, [0x634dd0]
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.0044cad4
mov ecx, dword [ebx + 4]
mov dword [esp + 0x84], ecx
lea edi, [esp + 0xfc]
call fcn.0044cad4
lea ecx, [0x77b5a0]
mov dword [esp], ecx
mov edx, dword [esp + 0x84]
mov dword [esp + 4], edx
lea edx, [esp + 0xfc]
mov dword [esp + 8], edx
call fcn.0040b870
xor eax, eax
jmp 0x6185cd
mov byte [esp + 0x35], al
lea ecx, [esp + 0xfc]
mov dword [esp], ecx
call fcn.0040baf0
movzx eax, byte [esp + 0x35]
mov byte [esp + 0x35], al
mov ecx, dword [esp + 0xfc]
test ecx, ecx
je 0x618670
mov edx, dword [ecx + 4]
mov dword [esp + 0x48], edx
mov ecx, dword [ecx]
mov dword [esp + 0x60], ecx
cmp edx, 8
jge 0x618642
xor ebx, ebx
test bl, bl
je 0x6185b5
mov eax, dword [esp + 0x68]
test eax, eax
je 0x61862c
lea eax, [0x734b00]
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.0040ed50
mov eax, dword [esp + 0x10]
mov byte [eax], 1
mov eax, 1
jmp 0x6185b5
call fcn.0040a780
mov eax, dword [esp]
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
jmp 0x618600
mov dword [esp], ecx
lea eax, [0x79311d]
mov dword [esp + 4], eax
mov dword [esp + 8], 8
call fcn.004021c0
movzx ebx, byte [esp + 0xc]
movzx eax, byte [esp + 0x35]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x48]
jmp 0x6185f4
mov eax, dword [esp + 0x130]
mov ecx, dword [eax + 4]
mov dword [esp + 4], ecx
lea ecx, [0x77b5a0]
mov dword [esp], ecx
lea edx, [0x7921ab]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 7
call fcn.0040e670
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov dword [esp + 0x54], ecx
mov eax, dword [eax]
mov dword [esp + 0x80], eax
xor edx, edx
movzx ebx, byte [esp + 0x35]
jmp 0x618728
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, [0x63b1b0]
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.00619600
mov eax, dword [esp + 0x50]
lea edx, [eax + 1]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x54]
mov ebx, 1
cmp edx, ecx
jl 0x6186bb
mov byte [esp + 0x35], bl
lea eax, [0x77b5a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x797f7f]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x11
call fcn.0040e670
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jle 0x6195ce
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp + 0x40], ecx
mov dword [esp + 0x5c], eax
mov edx, dword [esp + 0x58]
lea ebx, [edx + 0x54]
mov dword [esp], ebx
call fcn.006157e0
movzx eax, byte [esp + 4]
mov ecx, dword [esp + 0x40]
test ecx, ecx
test al, al
je 0x6187a1
movzx eax, byte [esp + 0x35]
test al, al
je 0x6194a3
mov eax, dword [esp + 0x58]
movzx edx, byte [eax + 0x16]
test dl, dl
je 0x619499
movzx edx, byte [esp + 0x37]
test dl, dl
jne 0x6193d2
mov ebx, dword [eax + 0x38]
mov ebp, dword [eax + 0x3c]
cmp ebx, 0xffffffff
setne bl
cmp ebp, 0xffffffff
xchg ebp, ebx
setne bl
xchg ebp, ebx
or ebp, ebx
xchg ebp, eax
mov byte [esp + 0x39], al
xchg ebp, eax
movzx ebx, byte [eax + 0x16]
test bl, bl
je 0x619398
movzx ebx, byte [esp + 0x38]
test bl, bl
je 0x619367
lea eax, [0x77b5a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x7942a2]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.0040e9d0
movzx eax, byte [esp + 0x14]
test al, al
je 0x61934a
lea eax, [0x77b5a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x7942a2]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.0040e670
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jle 0x619341
mov eax, dword [ecx]
mov ecx, dword [ecx + 4]
cmp ecx, 5
jne 0x61932b
mov ecx, dword [eax]
cmp ecx, 0x736f6c63
jne 0x61932b
movzx eax, byte [eax + 4]
cmp al, 0x65
jne 0x61932b
mov eax, dword [esp + 0x58]
mov byte [eax + 0x44], 1
mov ecx, dword [eax + 4]
mov ebx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
lea ebp, [0x7ffca0]
cmp ebx, ebp
jne 0x619321
jne 0x6188b9
movzx ecx, byte [ecx + 0xd]
test cl, cl
je 0x619318
mov ecx, dword [eax + 4]
mov ebx, dword [ecx + 0x2c]
mov esi, dword [ecx + 0x30]
test ebx, ebx
setne bl
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
or esi, ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x6188e4
movzx ebx, byte [eax + 0x44]
test bl, bl
je 0x619062
mov ecx, dword [eax + 0x40]
mov dword [esp + 0x44], ecx
lea ebx, [ecx - 0x64]
mov dword [esp + 0x54], ebx
cmp ebx, 0x63
ja 0x618fc1
cmp ecx, 0x130
jne 0x618f9a
mov ebp, dword [0xa7613c]
mov esi, dword [0xa76138]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x3c], ebp
xor edx, edx
jmp 0x61895d
mov dword [esp + 0x50], edx
lea eax, [esi + edx*8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov eax, dword [esp + 0x50]
lea edx, [eax + 1]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x3c]
mov esi, dword [esp + 0x7c]
cmp edx, ebp
jl 0x61891f
lea eax, [0x77b5a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea ecx, [0x78fd3c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
call fcn.0040e9d0
movzx eax, byte [esp + 0x14]
test al, al
je 0x618f21
movzx eax, byte [esp + 0x39]
test al, al
je 0x618f1a
mov ecx, dword [esp + 0x40]
test ecx, ecx
je 0x618abb
cmp ecx, 8
je 0x618ef4
mov eax, dword [esp + 0x5c]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
mov dword [esp + 0xb4], 0
lea edx, [0x730dc0]
mov dword [esp], edx
lea edx, [esp + 0x88]
mov dword [esp + 4], edx
call fcn.00407570
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 8]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
lea ecx, [0x730500]
mov dword [esp], ecx
call fcn.004074f0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
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, [0x7aa97b]
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.0061e900
lea eax, [0x79627a]
mov dword [esp], eax
mov dword [esp + 4], 0xe
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0x98]
call ecx
xor eax, eax
mov ecx, dword [esp + 0x58]
mov ebx, dword [ecx + 4]
mov ebp, dword [ebx]
mov esi, dword [ebx + 4]
cmp esi, 4
jne 0x618ee8
mov ebp, dword [ebp]
cmp ebp, 0x44414548
jne 0x618d37
mov eax, dword [esp + 0x130]
movzx ebx, byte [eax + 9]
test bl, bl
jne 0x618d06
mov ebx, dword [ecx + 4]
mov ebp, dword [ebx + 0x14]
cmp ebp, 1
jle 0x618cf1
mov edx, 1
test dl, dl
je 0x618cea
movzx ebx, byte [ecx + 0x44]
test bl, bl
je 0x618cdb
movzx ebx, byte [esp + 0x37]
test bl, bl
jne 0x618c77
lea eax, [0x7942a2]
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 0x618c60
mov ecx, 1
test cl, cl
je 0x618b7c
lea ecx, [0x79086e]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], 5
mov ecx, dword [eax + 4]
mov edx, dword [ecx + 0x14]
cmp edx, 1
jle 0x618c49
mov ecx, 1
mov edx, dword [eax]
lea ebx, [eax + 0x7f]
test byte [ebx], al
mov edx, dword [edx + 0x2c]
mov dword [esp], edx
mov byte [esp + 4], cl
mov ecx, dword [esp + 0x44]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], 3
mov dword [esp + 0x14], 3
call fcn.00619720
mov eax, dword [esp + 0x58]
mov ecx, dword [eax]
mov edx, dword [esp + 0x130]
mov edx, dword [edx + 4]
mov ecx, dword [ecx + 0x2c]
lea ebx, [0x7fe000]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp], edx
mov ecx, dword [esp + 0x68]
mov dword [esp + 0xc], ecx
call fcn.0060e790
mov eax, dword [esp + 0x58]
mov ecx, dword [eax]
mov ecx, dword [ecx + 0x2c]
mov dword [esp + 0x30], ecx
mov edi, esp
lea esi, [esp + 0xcc]
call fcn.0044cf78
call fcn.00618220
mov eax, dword [esp + 0x58]
mov eax, dword [eax]
mov eax, dword [eax + 0x2c]
mov dword [esp], eax
mov eax, dword [0xa75ecc]
mov ecx, dword [0xa75ec8]
mov edx, dword [0xa75ed0]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.005b6650
add esp, 0x12c
ret
jne 0x618c59
mov ecx, dword [ecx + 0x18]
cmp ecx, 1
setge cl
jmp 0x618b90
xor ecx, ecx
jmp 0x618b90
jne 0x618c70
mov ecx, dword [ecx + 0x18]
cmp ecx, 1
setge cl
jmp 0x618b60
xor ecx, ecx
jmp 0x618b60
mov ecx, dword [eax + 4]
lea edx, [0x77b5a0]
mov dword [esp], edx
mov dword [esp + 4], ecx
lea ecx, [0x7942a2]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0xa
call fcn.0040e670
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 4]
mov eax, dword [eax]
test ecx, ecx
jle 0x618ce4
mov ecx, dword [eax + 4]
mov eax, dword [eax]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea eax, [0x79086e]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 5
call fcn.0060ec80
movzx eax, byte [esp + 0x10]
test al, al
je 0x618b27
mov eax, dword [esp + 0x58]
jmp 0x618b7c
xor eax, eax
xor ecx, ecx
jmp 0x618cb0
add esp, 0x12c
ret
jne 0x618d02
mov ebx, dword [ebx + 0x18]
test ebx, ebx
setge bl
mov edx, ebx
jmp 0x618b06
xor ebx, ebx
jmp 0x618cfb
lea eax, [0x79627a]
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 ecx, dword [esp + 0x58]
jmp 0x618af2
mov ebp, dword [esp + 0x54]
cmp ebp, 0x63
jbe 0x618adf
mov ebp, dword [esp + 0x44]
cmp ebp, 0xcc
je 0x618adf
cmp ebp, 0x130
je 0x618adf
test al, al
jne 0x618eb3
mov eax, dword [ebx + 0x14]
cmp eax, 1
jle 0x618e9c
mov eax, 1
test al, al
je 0x618e63
mov eax, dword [esp + 0x40]
test eax, eax
je 0x618e5a
cmp eax, 8
jne 0x618e4f
mov ebx, dword [esp + 0x5c]
mov esi, dword [ebx]
cmp esi, 0x6e656469
jne 0x618e48
mov esi, dword [ebx + 4]
cmp esi, 0x79746974
jne 0x618dc7
mov eax, dword [esp + 0x130]
mov byte [eax + 9], 0
mov byte [ecx + 0x44], 1
jmp 0x618adf
test eax, eax
mov esi, dword [esp + 0x130]
mov byte [esi + 9], 1
lea edi, [0x79236b]
mov dword [esp + 0xdc], edi
mov dword [esp + 0xe0], 7
je 0x618e0f
cmp eax, 7
jne 0x618e0f
mov eax, dword [ebx]
cmp eax, 0x6e756863
jne 0x618e0f
movzx eax, word [ebx + 4]
cmp ax, 0x656b
jne 0x618e0f
movzx eax, byte [ebx + 6]
cmp al, 0x64
je 0x618e16
mov eax, esi
jmp 0x618adf
lea eax, [0x797f7f]
mov dword [esp], eax
mov dword [esp + 4], 0x11
mov eax, dword [esp + 0x98]
lea edx, [esp + 0x98]
call eax
mov ecx, dword [esp + 0x58]
mov ebp, dword [esp + 0x44]
mov esi, dword [esp + 0x130]
jmp 0x618e0f
test eax, eax
jmp 0x618dc9
test eax, eax
mov ebx, dword [esp + 0x5c]
jmp 0x618dc9
mov ebx, dword [esp + 0x5c]
jmp 0x618dc9
mov byte [ecx + 0x44], 1
lea eax, [0x797f7f]
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 ecx, dword [esp + 0x58]
mov ebp, dword [esp + 0x44]
jmp 0x618adf
jne 0x618eac
mov eax, dword [ebx + 0x18]
cmp eax, 1
setge al
jmp 0x618d79
xor eax, eax
jmp 0x618d79
lea eax, [0x797f7f]
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 ecx, dword [esp + 0x58]
mov ebp, dword [esp + 0x44]
jmp 0x618adf
mov ebp, dword [esp + 0x54]
cmp ebp, 0x63
jmp 0x618d3e
mov ebx, dword [esp + 0x5c]
mov ebp, dword [ebx]
cmp ebp, 0x6e656469
jne 0x6189b8
mov ebp, dword [ebx + 4]
cmp ebp, 0x79746974
jne 0x6189b8
jmp 0x618abb
xor eax, eax
jmp 0x618abb
mov eax, dword [esp + 0x130]
mov ecx, dword [eax]
test byte [ecx], al
add ecx, 0x58
mov dword [esp + 0x78], ecx
test byte [ecx], al
call fcn.0047df30
lea edi, [esp + 0xb8]
mov esi, esp
call fcn.0044cfbe
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x1d
lea edi, [esp + 0xc]
lea esi, [esp + 0xb8]
call fcn.0044cfbe
call fcn.00616e70
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xe8], edx
mov dword [esp + 0xec], ecx
jmp 0x618996
cmp ebx, 0x63
ja 0x618fb0
mov esi, dword [0xa76148]
mov ebp, dword [0xa7614c]
jmp 0x618913
cmp ecx, 0xcc
je 0x618f9f
xor esi, esi
xor ebp, ebp
jmp 0x618913
cmp ecx, 0xcc
je 0x6188fb
cmp ecx, 0x130
je 0x6188fb
lea eax, [0x77b5a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x7952f6]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xc
call fcn.0040e9d0
movzx eax, byte [esp + 0x14]
test al, al
jne 0x618961
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x618961
mov ecx, dword [esp + 0x138]
test ecx, ecx
jle 0x618961
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.0061f450
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
jmp 0x618961
mov ebx, dword [ecx + 0x20]
mov ecx, dword [ecx + 0x24]
test ebx, ebx
je 0x61923b
mov esi, dword [ebx + 8]
cmp esi, 0x1a0af671
jne 0x619311
lea edi, [0x7ffc40]
cmp edi, ebx
jne 0x619305
mov edx, ecx
je 0x619251
cmp esi, 0x2b9fd821
jne 0x61923b
cmp ebp, ebx
jne 0x619247
jne 0x61923b
mov ecx, dword [edx]
movzx ecx, byte [ecx + 0x15]
xor edx, edx
test cl, cl
jne 0x61910d
test dl, dl
je 0x6188e4
mov dword [esp], eax
call fcn.00615960
lea eax, [0x7942a2]
mov dword [esp], eax
mov dword [esp + 4], 0xa
mov ecx, dword [esp + 0x98]
lea edx, [esp + 0x98]
call ecx
lea eax, [0x79086e]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], 5
mov eax, dword [esp + 0x58]
jmp 0x6188e4
mov byte [esp + 0x36], dl
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 8]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ecx, [0x73f740]
mov dword [esp], ecx
call fcn.00407960
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov eax, dword [0xa75818]
mov ecx, dword [0xa7581c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 0x10], 0x40001
mov dword [esp + 0x14], 0
call fcn.0045fb10
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
test eax, eax
je 0x61922d
mov ebx, dword [0xa7d258]
cmp ebx, eax
je 0x6191eb
mov ebx, dword [0xa7d1a0]
cmp ebx, eax
je 0x61919d
mov eax, dword [esp + 0x58]
mov byte [eax + 0x44], 1
movzx ecx, byte [esp + 0x36]
mov edx, ecx
jmp 0x6190bb
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [0xa7d1a4]
mov dword [esp + 8], eax
call fcn.00402e70
movzx eax, byte [esp + 0xc]
test al, al
je 0x619189
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 0x6191e5
mov eax, dword [esp + 0x58]
mov byte [eax + 0x44], 1
movzx ecx, byte [esp + 0x36]
jmp 0x619196
mov eax, dword [esp + 0x58]
jmp 0x6191de
mov dword [esp + 0x4c], eax
mov dword [esp + 0x6c], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov edx, dword [0xa7d25c]
mov dword [esp + 8], edx
call fcn.00402e70
movzx eax, byte [esp + 0xc]
test al, al
je 0x619220
mov eax, dword [esp + 0x58]
movzx ecx, byte [esp + 0x36]
jmp 0x619196
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0x6c]
jmp 0x61917f
mov eax, dword [esp + 0x58]
mov ecx, 1
jmp 0x619196
mov ecx, 1
xor edx, edx
jmp 0x6190b7
mov edx, 0
jmp 0x6190a9
mov dword [esp + 0x70], ecx
test byte [ecx], al
lea eax, [ecx + 0x18]
mov dword [esp + 0x74], eax
mov dword [esp], eax
call fcn.0045e300
mov eax, dword [esp + 0x70]
movzx ecx, byte [eax + 0x21]
test cl, cl
je 0x6192af
movzx eax, byte [eax + 0x20]
test al, al
je 0x6192a5
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.0045e640
mov eax, dword [esp + 0x58]
movzx ecx, byte [esp + 0x3a]
movzx edx, byte [esp + 0x3b]
jmp 0x6190b7
mov eax, dword [esp + 0x58]
mov byte [eax + 0x44], 1
jmp 0x61927a
mov ecx, dword [eax + 4]
mov eax, dword [eax]
lea edx, [0x7fe360]
cmp edx, eax
jne 0x6192fe
jne 0x6192f2
mov eax, dword [ecx + 8]
mov ecx, dword [ecx + 0xc]
cmp eax, 0x40000
setae al
test ecx, ecx
sete dl
and edx, eax
test ecx, ecx
setg al
or edx, eax
test dl, dl
je 0x6192e9
xor eax, eax
mov ecx, 1
jmp 0x61927e
mov eax, 1
xor ecx, ecx
jmp 0x61927e
mov eax, 0xffffffff
mov ecx, 0xffffffff
jmp 0x6192c6
mov ecx, 0
jmp 0x6192be
mov edx, ecx
mov ecx, 0
jmp 0x61908f
mov edx, ecx
jmp 0x619095
mov byte [eax + 0x44], 1
jmp 0x6188b9
mov ecx, 0
jmp 0x6188ab
movzx eax, byte [esp + 0x37]
test al, al
je 0x61888c
mov eax, dword [esp + 0x58]
jmp 0x618894
xor ecx, ecx
xor eax, eax
jmp 0x618868
lea eax, [0x794784]
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], 0xa
jmp 0x61882a
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x6187f5
mov ebx, dword [eax + 0x40]
lea esi, [ebx - 0x64]
cmp esi, 0x63
jbe 0x6187f5
cmp ebx, 0xcc
je 0x6187f5
cmp ebx, 0x130
je 0x6187f5
mov ebx, dword [eax + 4]
mov esi, dword [ebx + 0x14]
cmp esi, 1
jle 0x6193c1
mov ebx, 1
test bl, bl
je 0x6193b8
movzx ebx, byte [eax + 0x17]
test bl, bl
je 0x61882a
mov byte [eax + 0x44], 1
jmp 0x61882a
jne 0x6193ce
mov ebx, dword [ebx + 0x18]
cmp ebx, 1
setge bl
jmp 0x6193a8
xor ebx, ebx
jmp 0x6193a8
lea eax, [0x77b5a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x79627a]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xe
call fcn.0040e670
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jle 0x619492
mov eax, dword [ecx + 4]
test eax, eax
jne 0x619424
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x40]
movzx edx, byte [esp + 0x37]
jmp 0x6187be
lea eax, [0x77b5a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x7942a2]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xa
call fcn.0040e670
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jle 0x61948c
mov eax, dword [ecx + 4]
mov ecx, dword [ecx]
cmp eax, 0xa
jne 0x619412
mov dword [esp], ecx
lea ecx, [0x794784]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.004021c0
movzx eax, byte [esp + 0xc]
test al, al
je 0x619412
mov eax, dword [esp + 0x58]
mov byte [eax + 0x44], 0
jmp 0x619412
xor ecx, ecx
xor eax, eax
jmp 0x61945e
xor eax, eax
jmp 0x61940e
movzx edx, byte [esp + 0x37]
jmp 0x6187be
test ecx, ecx
jne 0x6187a1
mov eax, dword [esp + 0x58]
mov edx, dword [eax + 0x40]
lea ebx, [edx - 0x64]
cmp ebx, 0x63
jbe 0x6187a1
cmp edx, 0xcc
je 0x6187a1
cmp edx, 0x130
je 0x6187a1
lea eax, [0x77b5a0]
mov dword [esp], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 4], ecx
lea edx, [0x79627a]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0xe
call fcn.0040e670
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
test eax, eax
jle 0x6195c7
mov eax, dword [ecx + 4]
test eax, eax
jne 0x6195b9
movzx eax, byte [esp + 0x38]
test al, al
je 0x6195ad
mov ecx, dword [esp + 0x138]
test ecx, ecx
jle 0x6195a4
mov eax, dword [esp + 0x58]
mov dword [eax + 0x38], ecx
mov edx, ecx
sar ecx, 0x1f
mov dword [eax + 0x3c], ecx
mov ebx, dword [esp + 0x130]
mov ebp, dword [ebx]
lea esi, [ebp + 0x75]
test byte [esi], al
test byte [ebp], al
mov dword [esp], esi
mov dword [esp + 4], 0
mov dword [esp + 8], 0xa
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0xa
call fcn.00459750
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
mov ecx, dword [esp + 0x40]
jmp 0x6187a1
mov ecx, dword [esp + 0x40]
jmp 0x6187a1
mov ecx, dword [esp + 0x138]
jmp 0x619532
movzx eax, byte [esp + 0x38]
mov ecx, dword [esp + 0x138]
jmp 0x6195a4
xor eax, eax
jmp 0x619512
xor ecx, ecx
xor eax, eax
jmp 0x61876e
mov ebp, dword [eax + 0x28]
jmp 0x61850b
xor ecx, ecx
jmp 0x6184f1
add esp, 0x12c
ret
call fcn.0044b280
jmp fcn.00618480