Function at 0x461600
Capabilities:
Check for peb beingdebugged flag

Disassembly:
push 0xffffffffffffffff
push 0x501372
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1b4
push ebx
push ebp
push esi
mov esi, edx
lea edx, [esp + 0x130]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x128], edx
lea edx, [esp + 0xe8]
mov dword [esp + 0x13c], edx
lea edx, [esp + 0x128]
mov dword [esp + 0x134], edx
xor ecx, ecx
mov eax, 0x40
lea edx, [esp + 0x128]
push edi
mov dword [esp + 0x130], ecx
mov dword [esp + 0x144], eax
mov dword [esp + 0x13c], edx
mov dword [esp + 0x134], ecx
lea edx, [esp + 0x190]
mov dword [esp + 0x1cc], ecx
mov dword [esp + 0x188], edx
lea edx, [esp + 0x148]
mov dword [esp + 0x19c], edx
lea edx, [esp + 0x188]
mov dword [esp + 0x194], edx
lea edx, [esp + 0x188]
mov dword [esp + 0x18c], ecx
mov dword [esp + 0x1a0], eax
mov dword [esp + 0x198], edx
mov dword [esp + 0x190], ecx
lea edx, [esp + 0xd8]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd0], edx
lea edx, [esp + 0x90]
mov dword [esp + 0xe4], edx
lea edx, [esp + 0xd0]
mov dword [esp + 0xdc], edx
lea edx, [esp + 0xd0]
mov dword [esp + 0xe8], eax
mov dword [esp + 0xe0], edx
mov dword [esp + 0xd8], ecx
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x7c]
lea edx, [esp + 0x34]
mov dword [esp + 0x74], eax
mov dword [esp + 0x88], edx
lea eax, [esp + 0x74]
lea edx, [esp + 0x74]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
mov dword [esp + 0x7c], ecx
mov edx, dword [esi]
mov byte [esp + 0x2b], cl
add edx, 2
xor bl, bl
mov ebp, 1
mov dword [esp + 0x1a8], ecx
lea ecx, [esp + 0x1a8]
mov byte [esp + 0x1cc], 3
mov dword [esi], edx
mov byte [esp + 0x1b], bl
mov byte [esp + 0x30], bl
mov dword [esp + 0x24], ebp
call fcn.004664e0
mov dword [esp + 0x10], eax
mov eax, dword [esi]
mov ecx, dword [esp + 0x1d4]
cmp eax, ecx
mov byte [esp + 0x1cc], 4
je 0x462b2b
mov cl, byte [esp + 0x1b]
test cl, cl
jne 0x462b8f
xor edi, edi
mov di, word [eax]
mov ecx, edi
mov dword [esp + 0x1ac], edi
call fcn.004cda80
add eax, 0xfffffffc
cmp eax, 0xa
ja case.0x4617db.9
xor ecx, ecx
mov cl, byte [eax + 0x462c7c]
jmp dword [ecx*4 + 0x462c64]
test bl, bl
jne 0x4617f8
mov al, byte [esp + 0x30]
test al, al
jne 0x4617f8
mov byte [esp + 0x30], 1
jmp 0x461dbe
mov edx, dword [esp + 0x10]
mov dword [esp + 0x1c], edi
push edx
call fcn.004dbc23
add esp, 4
lea edx, [esp + 0x1e]
lea ecx, [esp + 0x1c]
call fcn.0041b960
mov dword [esp + 0x10], eax
jmp 0x461b90
mov eax, dword [esp + 0x14]
test byte [eax], 2
jne 0x46184f
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], edi
push ecx
call fcn.004dbc23
add esp, 4
lea edx, [esp + 0x1e]
lea ecx, [esp + 0x1c]
call fcn.0041b960
mov dword [esp + 0x10], eax
jmp 0x461b90
mov eax, dword [esi]
mov ecx, dword [esp + 0x1d4]
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov edi, eax
je 0x461887
mov edx, dword [esi]
xor ecx, ecx
mov cx, word [edx]
call fcn.004cda80
cmp eax, 0xa
je 0x461887
mov edx, dword [esi]
mov eax, dword [esp + 0x1d4]
add edx, 2
mov ecx, edx
mov dword [esi], edx
cmp ecx, eax
jne 0x461862
mov eax, dword [esi]
mov ecx, dword [esp + 0x1d4]
cmp eax, ecx
je 0x4618e3
lea ecx, [eax + 2]
mov edx, ecx
mov dword [esi], ecx
sub edx, edi
and edx, 0xfffffffe
cmp edx, 0xa
jl 0x4618e3
mov ax, word [edi + 2]
cmp ax, word [ecx - 4]
jne 0x4618e3
and eax, 0xffff
mov ecx, eax
call fcn.004cda80
cmp eax, 0x24
jne 0x4618d9
mov ecx, dword [esi]
sub ecx, edi
and ecx, 0xfffffffe
cmp ecx, 0xa
jne 0x4618e5
xor ecx, ecx
mov cx, word [edi + 4]
call fcn.004cda80
jmp 0x4618e5
cmp eax, 5
je 0x4618e5
cmp eax, 0x25
je 0x4618e5
xor eax, eax
add eax, 0xfffffffb
cmp eax, 0x20
ja case.0x4618f9.10
xor edx, edx
mov dl, byte [eax + 0x462ca0]
jmp dword [edx*4 + 0x462c88]
cmp ebp, 2
je 0x461dd7
mov eax, dword [esp + 0x1c]
mov edx, dword [esi]
sub edx, 4
lea ecx, [eax + 4]
call fcn.00462d00
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x1a4], eax
mov edx, dword [ecx]
test dh, 0x20
je 0x461943
cmp eax, 1
je 0x461936
cmp eax, 2
jne 0x461943
mov dword [esp + 0x1a4], 0x100
jmp 0x46194b
test eax, eax
je 0x4620c1
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
cmp ecx, edx
jne 0x46196f
lea ecx, [esp + 0x90]
call fcn.0041b3b0
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 8]
lea edx, [esp + 0x1a4]
add ecx, 0xfffffffc
mov dword [eax + 8], ecx
mov eax, dword [esp + 0xd0]
mov ecx, dword [eax + 8]
call fcn.00465830
mov ebp, 1
mov bl, 1
mov dword [esp + 0x24], ebp
jmp 0x461adf
mov eax, dword [esi]
mov ecx, dword [esp + 0x1c]
sub eax, 4
lea edx, [ecx + 4]
push eax
lea ecx, [esp + 0x14]
call fcn.004ceb40
test al, al
je 0x4623a7
mov ebx, dword [esi]
mov edx, dword [esp + 0x10]
add ebx, 0xfffffffe
push edx
mov dword [esi], ebx
call fcn.004bf93a
add esp, 4
cmp eax, 1
jbe 0x461b90
mov byte [esp + 0x2b], 1
jmp 0x461b90
mov eax, dword [esi]
lea ecx, [esp + 0x10]
sub eax, 4
push eax
mov eax, dword [esp + 0x20]
lea edx, [eax + 4]
call fcn.004ceb40
test al, al
je 0x462691
mov edx, dword [esp + 0x10]
cmp word [edx], 0
je 0x461a58
xor edi, edi
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov cx, word [edi + edx]
shr eax, 0xd
and al, 1
mov byte [esp + 0x23], al
je 0x461a44
cmp cx, 0x100
jae 0x461a39
and ecx, 0xffff
mov ax, word [ecx*2 + 0x578668]
jmp 0x461a46
call fcn.004ce090
mov edx, dword [esp + 0x10]
jmp 0x461a46
mov eax, ecx
mov word [edi + edx], ax
mov edx, dword [esp + 0x10]
add edi, 2
cmp word [edi + edx], 0
jne 0x461a0d
lea ecx, [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.004664e0
mov dword [esp + 0x2c], eax
lea edx, [esp + 0x10]
lea ecx, [esp + 0x2c]
mov byte [esp + 0x1cc], 5
call fcn.004ce0c0
lea ecx, [esp + 0x2c]
call fcn.00462db0
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
cmp ecx, edx
jne 0x461aa6
lea ecx, [esp + 0x34]
call fcn.0041b3b0
mov eax, dword [esp + 0x74]
mov edi, dword [eax + 8]
lea edx, [esp + 0x2c]
add edi, 0xfffffffc
mov dword [eax + 8], edi
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 8]
call fcn.00466510
mov ecx, dword [esp + 0x2c]
mov ebp, 1
push ecx
mov bl, 1
mov dword [esp + 0x28], ebp
mov byte [esp + 0x1d0], 4
call fcn.004dbc23
add esp, 4
mov edx, dword [esp + 0x1d4]
mov eax, dword [esi]
cmp eax, edx
je 0x462a68
jmp 0x461dc1
test bl, bl
jne 0x462aaa
mov edi, dword [esp + 0x1c]
xor ecx, ecx
mov cx, word [edi + 2]
call fcn.004cda80
cmp eax, 0x24
je 0x462aaa
cmp eax, 5
je 0x462aaa
cmp eax, 0x25
je 0x462aaa
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x1ac]
push ecx
mov dword [esi], edi
mov dword [esp + 0x20], eax
call fcn.004dbc23
add esp, 4
lea edx, [esp + 0x1e]
lea ecx, [esp + 0x1c]
call fcn.0041b960
mov dword [esp + 0x10], eax
jmp 0x461b90
test bl, bl
je case.0x4617db.9
mov byte [esp + 0x1b], 1
jmp 0x461dbe
test bl, bl
je case.0x4617db.9
mov edx, dword [esi]
xor ecx, ecx
add edx, 2
mov eax, edx
mov dword [esi], edx
mov cx, word [eax]
call fcn.004cda80
cmp eax, 0xa
jne 0x461c17
add dword [esi], 0xfffffffe
mov edx, edi
lea ecx, [esp + 0x10]
call fcn.00465870
mov edi, dword [esp + 0x10]
mov cx, word [edi]
test cx, cx
je 0x461bc5
xor ebp, ebp
mov eax, dword [esp + 0x14]
mov edx, dword [eax]
shr edx, 0xd
and dl, 1
call fcn.00460d20
mov word [edi], ax
mov ecx, dword [esp + 0x10]
add ebp, 2
lea edi, [ecx + ebp]
mov cx, word [ecx + ebp]
test cx, cx
jne 0x461b9e
mov eax, dword [esp + 0x24]
mov bl, 1
cmp eax, 2
lea edx, [esp + 0x10]
jne 0x461dac
lea ecx, [esp + 0x148]
call fcn.00465b40
mov edx, dword [esp + 0x10]
mov ebp, 1
push edx
mov dword [esp + 0x28], ebp
call fcn.004bf93a
add esp, 4
cmp eax, ebp
jbe 0x461dbe
lea edx, [esp + 0x10]
lea ecx, [esp + 0xec]
call fcn.00465b40
jmp 0x461dbe
mov eax, dword [esp + 0x12c]
mov edx, dword [eax + 4]
mov ecx, dword [eax + 8]
cmp edx, ecx
jne 0x461c31
cmp dword [eax], 0
je 0x462abf
test ebp, ebp
jne 0x462abf
lea ecx, [esp + 0xec]
call fcn.00465ad0
mov edx, eax
lea ecx, [esp + 0x148]
call fcn.00465b40
lea ecx, [esp + 0xec]
call fcn.00465ad0
mov eax, dword [eax]
push eax
call fcn.004bf93a
add esp, 4
cmp eax, 1
ja 0x461c7b
lea ecx, [esp + 0xec]
call fcn.00465b00
mov ebp, 2
mov dword [esp + 0x24], ebp
jmp 0x461dc1
mov eax, dword [esp + 0x14]
test byte [eax], 1
je case.0x4617db.9
mov edx, dword [esi]
mov ecx, dword [esp + 0x1d4]
add edx, 2
mov eax, edx
mov dword [esi], edx
cmp eax, ecx
je 0x461dc1
xor ecx, ecx
mov cx, word [eax]
call fcn.004cda80
add eax, 0xffffffea
cmp eax, 0x18
ja case.0x461ccc.28
xor ecx, ecx
mov cl, byte [eax + 0x462ce0]
jmp dword [ecx*4 + 0x462cc4]
cmp ebp, 2
je 0x462ad4
mov dword [esp + 0x1b0], 0x304
lea edx, [esp + 0x1b0]
jmp 0x461d45
cmp ebp, 2
je 0x462ae4
mov dword [esp + 0x1b8], 4
lea edx, [esp + 0x1b8]
jmp 0x461d45
cmp ebp, 2
je 0x462abf
mov dword [esp + 0x1c0], 8
lea edx, [esp + 0x1c0]
jmp 0x461d45
cmp ebp, 2
je 0x462ad4
mov dword [esp + 0x1bc], 2
lea edx, [esp + 0x1bc]
lea ecx, [esp + 0x90]
call fcn.00465a50
mov bl, 1
mov ebp, 1
jmp 0x461dba
cmp ebp, 2
je 0x462af9
mov ebp, 1
lea edx, [esp + 0x1b4]
lea ecx, [esp + 0x90]
mov dword [esp + 0x1b4], ebp
call fcn.00465a50
mov bl, 1
jmp 0x461dba
mov edx, dword [esp + 0x1d4]
mov ecx, dword [esp + 0x14]
push edx
mov edx, esi
call fcn.00463110
mov ecx, dword [esi]
and eax, 0xffff
add ecx, 0xfffffffe
mov edx, eax
mov dword [esi], ecx
jmp 0x461b87
lea ecx, [esp + 0xec]
call fcn.00465b40
xor ebp, ebp
mov dword [esp + 0x24], ebp
add dword [esi], 2
mov eax, dword [esi]
mov ecx, dword [esp + 0x1d4]
cmp eax, ecx
je 0x462b23
jmp 0x4617a8
mov ecx, dword [esp + 0x14]
mov edx, 0xb
call fcn.004ce3c0
mov eax, dword [esp + 0x10]
push eax
call fcn.004dbc23
add esp, 4
lea ecx, [esp + 0x34]
mov byte [esp + 0x1cc], 2
call fcn.00465920
test al, al
je 0x461e1d
lea ecx, [esp + 0x34]
call fcn.00465b00
lea ecx, [esp + 0x34]
call fcn.00465920
test al, al
jne 0x461e07
mov eax, dword [esp + 0x78]
test eax, eax
je 0x461e4d
mov ecx, dword [eax]
mov edx, eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x78], ecx
lea ecx, [eax*4 + 0x10]
push ecx
lea ecx, [esp + 0x38]
call fcn.0041b390
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x461e25
mov eax, dword [esp + 0x74]
lea edx, [esp + 0x7c]
cmp eax, edx
je 0x461e85
mov ecx, dword [esp + 0x8c]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x74], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x38]
call fcn.0041b390
lea ecx, [esp + 0x7c]
mov eax, dword [esp + 0x74]
cmp eax, ecx
jne 0x461e59
lea ecx, [esp + 0x90]
mov byte [esp + 0x1cc], 1
call fcn.00465920
test al, al
je 0x461eb9
lea ecx, [esp + 0x90]
call fcn.0041b280
lea ecx, [esp + 0x90]
call fcn.00465920
test al, al
jne 0x461e9d
mov eax, dword [esp + 0xd4]
test eax, eax
je 0x461ef5
mov ecx, dword [esp + 0xe8]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0xd4], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x94]
call fcn.0041b390
mov eax, dword [esp + 0xd4]
test eax, eax
jne 0x461ec4
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x461f3f
mov ecx, dword [esp + 0xe8]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0xd0], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x94]
call fcn.0041b390
lea ecx, [esp + 0xd8]
mov eax, dword [esp + 0xd0]
cmp eax, ecx
jne 0x461f07
lea ecx, [esp + 0x148]
mov byte [esp + 0x1cc], 0
call fcn.00465920
test al, al
je 0x461f73
lea ecx, [esp + 0x148]
call fcn.00465b00
lea ecx, [esp + 0x148]
call fcn.00465920
test al, al
jne 0x461f57
mov eax, dword [esp + 0x18c]
test eax, eax
je 0x461faf
mov ecx, dword [esp + 0x1a0]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x18c], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x14c]
call fcn.0041b390
mov eax, dword [esp + 0x18c]
test eax, eax
jne 0x461f7e
mov eax, dword [esp + 0x188]
lea ecx, [esp + 0x190]
cmp eax, ecx
je 0x461ff9
mov ecx, dword [esp + 0x1a0]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x188], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x14c]
call fcn.0041b390
lea ecx, [esp + 0x190]
mov eax, dword [esp + 0x188]
cmp eax, ecx
jne 0x461fc1
lea ecx, [esp + 0xec]
mov dword [esp + 0x1cc], 0xffffffff
call fcn.00465920
test al, al
je 0x462030
lea ecx, [esp + 0xec]
call fcn.00465b00
lea ecx, [esp + 0xec]
call fcn.00465920
test al, al
jne 0x462014
mov eax, dword [esp + 0x130]
test eax, eax
je 0x46206c
mov ecx, dword [esp + 0x144]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x130], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0xf0]
call fcn.0041b390
mov eax, dword [esp + 0x130]
test eax, eax
jne 0x46203b
mov eax, dword [esp + 0x12c]
lea ecx, [esp + 0x134]
cmp eax, ecx
je 0x462b88
mov ecx, dword [esp + 0x144]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x12c], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0xf0]
call fcn.0041b390
lea ecx, [esp + 0x134]
mov eax, dword [esp + 0x12c]
cmp eax, ecx
jne 0x462082
xor eax, eax
jmp 0x462c48
mov edx, 4
call fcn.004ce3c0
mov edx, dword [esp + 0x10]
push edx
call fcn.004dbc23
add esp, 4
lea ecx, [esp + 0x34]
mov byte [esp + 0x1cc], 2
call fcn.00465920
test al, al
je 0x462103
lea ecx, [esp + 0x34]
call fcn.00465b00
lea ecx, [esp + 0x34]
call fcn.00465920
test al, al
jne 0x4620ed
mov eax, dword [esp + 0x78]
test eax, eax
je 0x462133
mov ecx, dword [esp + 0x8c]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x78], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x38]
call fcn.0041b390
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x46210b
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x7c]
cmp eax, ecx
je 0x46216b
mov ecx, dword [esp + 0x8c]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x74], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x38]
call fcn.0041b390
lea ecx, [esp + 0x7c]
mov eax, dword [esp + 0x74]
cmp eax, ecx
jne 0x46213f
lea ecx, [esp + 0x90]
mov byte [esp + 0x1cc], 1
call fcn.00465920
test al, al
je 0x46219f
lea ecx, [esp + 0x90]
call fcn.0041b280
lea ecx, [esp + 0x90]
call fcn.00465920
test al, al
jne 0x462183
mov eax, dword [esp + 0xd4]
test eax, eax
je 0x4621db
mov ecx, dword [esp + 0xe8]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0xd4], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x94]
call fcn.0041b390
mov eax, dword [esp + 0xd4]
test eax, eax
jne 0x4621aa
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x462225
mov ecx, dword [esp + 0xe8]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0xd0], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x94]
call fcn.0041b390
lea ecx, [esp + 0xd8]
mov eax, dword [esp + 0xd0]
cmp eax, ecx
jne 0x4621ed
lea ecx, [esp + 0x148]
mov byte [esp + 0x1cc], 0
call fcn.00465920
test al, al
je 0x462259
lea ecx, [esp + 0x148]
call fcn.00465b00
lea ecx, [esp + 0x148]
call fcn.00465920
test al, al
jne 0x46223d
mov eax, dword [esp + 0x18c]
test eax, eax
je 0x462295
mov ecx, dword [esp + 0x1a0]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x18c], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x14c]
call fcn.0041b390
mov eax, dword [esp + 0x18c]
test eax, eax
jne 0x462264
mov eax, dword [esp + 0x188]
lea ecx, [esp + 0x190]
cmp eax, ecx
je 0x4622df
mov ecx, dword [esp + 0x1a0]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x188], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x14c]
call fcn.0041b390
lea ecx, [esp + 0x190]
mov eax, dword [esp + 0x188]
cmp eax, ecx
jne 0x4622a7
lea ecx, [esp + 0xec]
mov dword [esp + 0x1cc], 0xffffffff
call fcn.00465920
test al, al
je 0x462316
lea ecx, [esp + 0xec]
call fcn.00465b00
lea ecx, [esp + 0xec]
call fcn.00465920
test al, al
jne 0x4622fa
mov eax, dword [esp + 0x130]
test eax, eax
je 0x462352
mov ecx, dword [esp + 0x144]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x130], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0xf0]
call fcn.0041b390
mov eax, dword [esp + 0x130]
test eax, eax
jne 0x462321
mov eax, dword [esp + 0x12c]
lea ecx, [esp + 0x134]
cmp eax, ecx
je 0x462b88
mov ecx, dword [esp + 0x144]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x12c], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0xf0]
call fcn.0041b390
lea ecx, [esp + 0x134]
mov eax, dword [esp + 0x12c]
cmp eax, ecx
jne 0x462368
xor eax, eax
jmp 0x462c48
mov ecx, dword [esp + 0x14]
mov edx, 3
call fcn.004ce3c0
mov edx, dword [esp + 0x10]
push edx
call fcn.004dbc23
add esp, 4
lea ecx, [esp + 0x34]
mov byte [esp + 0x1cc], 2
call fcn.00465920
test al, al
je 0x4623ed
lea ecx, [esp + 0x34]
call fcn.00465b00
lea ecx, [esp + 0x34]
call fcn.00465920
test al, al
jne 0x4623d7
mov eax, dword [esp + 0x78]
test eax, eax
je 0x46241d
mov ecx, dword [esp + 0x8c]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x78], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x38]
call fcn.0041b390
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x4623f5
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x7c]
cmp eax, ecx
je 0x462455
mov ecx, dword [esp + 0x8c]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x74], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x38]
call fcn.0041b390
lea ecx, [esp + 0x7c]
mov eax, dword [esp + 0x74]
cmp eax, ecx
jne 0x462429
lea ecx, [esp + 0x90]
mov byte [esp + 0x1cc], 1
call fcn.00465920
test al, al
je 0x462489
lea ecx, [esp + 0x90]
call fcn.0041b280
lea ecx, [esp + 0x90]
call fcn.00465920
test al, al
jne 0x46246d
mov eax, dword [esp + 0xd4]
test eax, eax
je 0x4624c5
mov ecx, dword [esp + 0xe8]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0xd4], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x94]
call fcn.0041b390
mov eax, dword [esp + 0xd4]
test eax, eax
jne 0x462494
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x46250f
mov ecx, dword [esp + 0xe8]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0xd0], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x94]
call fcn.0041b390
lea ecx, [esp + 0xd8]
mov eax, dword [esp + 0xd0]
cmp eax, ecx
jne 0x4624d7
lea ecx, [esp + 0x148]
mov byte [esp + 0x1cc], 0
call fcn.00465920
test al, al
je 0x462543
lea ecx, [esp + 0x148]
call fcn.00465b00
lea ecx, [esp + 0x148]
call fcn.00465920
test al, al
jne 0x462527
mov eax, dword [esp + 0x18c]
test eax, eax
je 0x46257f
mov ecx, dword [esp + 0x1a0]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x18c], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x14c]
call fcn.0041b390
mov eax, dword [esp + 0x18c]
test eax, eax
jne 0x46254e
mov eax, dword [esp + 0x188]
lea ecx, [esp + 0x190]
cmp eax, ecx
je 0x4625c9
mov ecx, dword [esp + 0x1a0]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x188], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x14c]
call fcn.0041b390
lea ecx, [esp + 0x190]
mov eax, dword [esp + 0x188]
cmp eax, ecx
jne 0x462591
lea ecx, [esp + 0xec]
mov dword [esp + 0x1cc], 0xffffffff
call fcn.00465920
test al, al
je 0x462600
lea ecx, [esp + 0xec]
call fcn.00465b00
lea ecx, [esp + 0xec]
call fcn.00465920
test al, al
jne 0x4625e4
mov eax, dword [esp + 0x130]
test eax, eax
je 0x46263c
mov ecx, dword [esp + 0x144]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x130], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0xf0]
call fcn.0041b390
mov eax, dword [esp + 0x130]
test eax, eax
jne 0x46260b
mov eax, dword [esp + 0x12c]
lea ecx, [esp + 0x134]
cmp eax, ecx
je 0x462b88
mov ecx, dword [esp + 0x144]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x12c], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0xf0]
call fcn.0041b390
lea ecx, [esp + 0x134]
mov eax, dword [esp + 0x12c]
cmp eax, ecx
jne 0x462652
xor eax, eax
jmp 0x462c48
mov ecx, dword [esp + 0x14]
mov edx, 3
call fcn.004ce3c0
mov eax, dword [esp + 0x10]
push eax
call fcn.004dbc23
add esp, 4
lea ecx, [esp + 0x34]
mov byte [esp + 0x1cc], 2
call fcn.00465920
test al, al
je 0x4626d7
lea ecx, [esp + 0x34]
call fcn.00465b00
lea ecx, [esp + 0x34]
call fcn.00465920
test al, al
jne 0x4626c1
mov eax, dword [esp + 0x78]
test eax, eax
je 0x462707
mov ecx, dword [eax]
mov edx, eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x78], ecx
lea ecx, [eax*4 + 0x10]
push ecx
lea ecx, [esp + 0x38]
call fcn.0041b390
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x4626df
mov eax, dword [esp + 0x74]
lea edx, [esp + 0x7c]
cmp eax, edx
je 0x46273f
mov ecx, dword [esp + 0x8c]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x74], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x38]
call fcn.0041b390
lea ecx, [esp + 0x7c]
mov eax, dword [esp + 0x74]
cmp eax, ecx
jne 0x462713
lea ecx, [esp + 0x90]
mov byte [esp + 0x1cc], 1
call fcn.00465920
test al, al
je 0x462773
lea ecx, [esp + 0x90]
call fcn.0041b280
lea ecx, [esp + 0x90]
call fcn.00465920
test al, al
jne 0x462757
mov eax, dword [esp + 0xd4]
test eax, eax
je 0x4627af
mov ecx, dword [esp + 0xe8]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0xd4], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x94]
call fcn.0041b390
mov eax, dword [esp + 0xd4]
test eax, eax
jne 0x46277e
mov eax, dword [esp + 0xd0]
lea ecx, [esp + 0xd8]
cmp eax, ecx
je 0x4627f9
mov ecx, dword [esp + 0xe8]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0xd0], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x94]
call fcn.0041b390
lea ecx, [esp + 0xd8]
mov eax, dword [esp + 0xd0]
cmp eax, ecx
jne 0x4627c1
lea ecx, [esp + 0x148]
mov byte [esp + 0x1cc], 0
call fcn.00465920
test al, al
je 0x46282d
lea ecx, [esp + 0x148]
call fcn.00465b00
lea ecx, [esp + 0x148]
call fcn.00465920
test al, al
jne 0x462811
mov eax, dword [esp + 0x18c]
test eax, eax
je 0x462869
mov ecx, dword [esp + 0x1a0]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x18c], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x14c]
call fcn.0041b390
mov eax, dword [esp + 0x18c]
test eax, eax
jne 0x462838
mov eax, dword [esp + 0x188]
lea ecx, [esp + 0x190]
cmp eax, ecx
je 0x4628b3
mov ecx, dword [esp + 0x1a0]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x188], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x14c]
call fcn.0041b390
lea ecx, [esp + 0x190]
mov eax, dword [esp + 0x188]
cmp eax, ecx
jne 0x46287b
lea ecx, [esp + 0xec]
mov dword [esp + 0x1cc], 0xffffffff
call fcn.00465920
test al, al
je 0x4628ea
lea ecx, [esp + 0xec]
call fcn.00465b00
lea ecx, [esp + 0xec]
call fcn.00465920
test al, al
jne 0x4628ce
mov eax, dword [esp + 0x130]
test eax, eax
je 0x462926
mov ecx, dword [esp + 0x144]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x130], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0xf0]
call fcn.0041b390
mov eax, dword [esp + 0x130]
test eax, eax
jne 0x4628f5
mov eax, dword [esp + 0x12c]
lea ecx, [esp + 0x134]
cmp eax, ecx
je 0x462b88
mov ecx, dword [esp + 0x144]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x12c], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0xf0]
call fcn.0041b390
lea ecx, [esp + 0x134]
mov eax, dword [esp + 0x12c]
cmp eax, ecx
jne 0x46293c
xor eax, eax
jmp 0x462c48
test bl, bl
jne 0x462a68
mov edx, dword [esi]
xor ecx, ecx
mov cx, word [edx]
call fcn.004cda80
cmp eax, 0xa
jne 0x462a68
mov ebx, dword [esi]
mov eax, dword [esp + 0x14]
add ebx, 2
mov edx, 0xc
lea ecx, [eax + 0xc]
mov dword [esi], ebx
call fcn.00461030
mov esi, eax
mov dword [esi], 9
mov dword [esi + 4], 0
mov ecx, dword [esp + 0x10]
push ecx
call fcn.004dbc23
add esp, 4
lea ecx, [esp + 0x34]
mov byte [esp + 0x1cc], 2
call fcn.00465920
test al, al
je 0x4629f7
lea ecx, [esp + 0x34]
call fcn.00465b00
lea ecx, [esp + 0x34]
call fcn.00465920
test al, al
jne 0x4629e1
mov eax, dword [esp + 0x78]
test eax, eax
je 0x462a27
mov ecx, dword [esp + 0x8c]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x78], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x38]
call fcn.0041b390
mov eax, dword [esp + 0x78]
test eax, eax
jne 0x4629ff
mov eax, dword [esp + 0x74]
lea ecx, [esp + 0x7c]
cmp eax, ecx
je 0x462c07
mov ecx, dword [esp + 0x8c]
mov edx, eax
mov eax, dword [eax]
mov dword [esp + 0x74], eax
lea eax, [ecx*4 + 0x10]
push eax
lea ecx, [esp + 0x38]
call fcn.0041b390
lea ecx, [esp + 0x7c]
mov eax, dword [esp + 0x74]
cmp eax, ecx
jne 0x462a37
jmp 0x462c07
mov ecx, dword [esp + 0x14]
mov edx, 7
call fcn.004ce3c0
jmp 0x462b2b
test bl, bl
jne 0x462a68
mov eax, dword [esi]
xor ecx, ecx
mov cx, word [eax]
call fcn.004cda80
cmp eax, 0xa
jne 0x462a68
mov ebx, dword [esi]
mov ecx, dword [esp + 0x14]
add ebx, 2
push 0xc
push eax
xor edx, edx
mov dword [esi], ebx
call fcn.00462df0
jmp 0x462be7
mov ecx, dword [esp + 0x14]
mov edx, 7
call fcn.004ce3c0
mov eax, dword [esp + 0x10]
push eax
jmp 0x462b30
mov ecx, dword [esp + 0x14]
mov edx, 0xb
call fcn.004ce3c0
mov ecx, dword [esp + 0x10]
push ecx
jmp 0x462b30
mov ecx, dword [esp + 0x14]
mov edx, 0xb
call fcn.004ce3c0
jmp 0x462b2b
mov ecx, dword [esp + 0x14]
mov edx, 0xb
call fcn.004ce3c0
mov eax, dword [esp + 0x10]
push eax
jmp 0x462b30
mov ecx, dword [esp + 0x14]
mov edx, 0xb
call fcn.004ce3c0
mov eax, dword [esp + 0x10]
push eax
jmp 0x462b30
mov ecx, dword [esp + 0x14]
mov edx, 5
call fcn.004ce3c0
mov ecx, dword [esp + 0x10]
push ecx
jmp 0x462b30
mov al, byte [esp + 0x1b]
test al, al
jne 0x462b8f
mov edx, dword [esp + 0x10]
push edx
call fcn.004dbc23
add esp, 4
lea ecx, [esp + 0x34]
mov byte [esp + 0x1cc], 2
call fcn.00466180
lea ecx, [esp + 0x90]
mov byte [esp + 0x1cc], 1
call fcn.00419570
lea ecx, [esp + 0x148]
mov byte [esp + 0x1cc], 0
call fcn.00466180
lea ecx, [esp + 0xec]
mov dword [esp + 0x1cc], 0xffffffff
call fcn.00466180
xor eax, eax
jmp 0x462c48
mov al, byte [esp + 0x2b]
test al, al
je 0x462bb8
mov ecx, dword [esp + 0x30]
lea eax, [esp + 0x23]
push eax
lea edx, [esp + 0x38]
push ecx
lea eax, [esp + 0x98]
push edx
lea ecx, [esp + 0x154]
push eax
push ecx
jmp 0x462bd7
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x23]
push edx
lea ecx, [esp + 0x38]
push eax
lea edx, [esp + 0x98]
push ecx
lea eax, [esp + 0x154]
push edx
push eax
mov ecx, dword [esp + 0x28]
lea edx, [esp + 0x100]
call fcn.00465bc0
mov ecx, dword [esp + 0x10]
mov esi, eax
push ecx
call fcn.004dbc23
add esp, 4
lea ecx, [esp + 0x34]
mov byte [esp + 0x1cc], 2
call fcn.00466180
lea ecx, [esp + 0x90]
mov byte [esp + 0x1cc], 1
call fcn.00419570
lea ecx, [esp + 0x148]
mov byte [esp + 0x1cc], 0
call fcn.00466180
lea ecx, [esp + 0xec]
mov dword [esp + 0x1cc], 0xffffffff
call fcn.00466180
mov eax, esi
mov ecx, dword [esp + 0x1c4]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x1c0
ret 4