Function at 0x470ee0
Capabilities:
Check for software breakpoints

Disassembly:
sub esp, 0x20
mov eax, dword [0x65ada4]
xor eax, esp
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x3c]
push ebx
push esi
push edi
mov edi, dword [esp + 0x30]
xor ebx, ebx
push edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
mov dword [eax], ebx
call fcn.0046eae0
mov esi, eax
add esp, 4
cmp esi, ebx
je 0x470f3a
push 0x36b8
push ebx
call fcn.00406f10
add esp, 8
pop edi
mov eax, esi
pop esi
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00586584
add esp, 0x20
ret
mov eax, dword [edi + 0x65b]
shl eax, 0xa
mov dword [esp + 0x18], eax
cmp dword [edi + 0x643], ebx
jne 0x470f78
push 0x36b8
push 0xf40
call fcn.00406f10
add esp, 8
pop edi
pop esi
mov eax, 0xf40
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00586584
add esp, 0x20
ret
mov eax, dword [edi + 0x63b]
cmp eax, ebx
push ebp
jle 0x470fa1
push ebx
push ebx
push 5
push eax
call fcn.00572410
mov edx, dword [0x5b46cc]
add esp, 0x10
mov dword [edx + 0x14c], eax
or ebp, 0xffffffff
jmp 0x470faf
mov eax, dword [0x5b46cc]
or ebp, 0xffffffff
mov dword [eax + 0x14c], ebp
mov eax, dword [edi + 0x63f]
cmp eax, ebx
jle 0x470fd9
mov ecx, dword [edi + 0x62f]
push ebx
push ebx
push ecx
push eax
call fcn.00572270
mov edx, dword [0x5b46cc]
add esp, 0x10
mov dword [edx + 0x148], eax
jmp 0x470fe4
mov eax, dword [0x5b46cc]
mov dword [eax + 0x148], ebp
mov ecx, dword [0x5b46cc]
cmp dword [ecx + 0x148], ebp
je 0x47100b
call fcn.00470e20
mov esi, eax
cmp esi, ebx
je 0x471529
cmp dword [esp + 0x44], ebx
je 0x471665
mov ebx, dword [esp + 0x48]
push ebx
call fcn.004d0a80
mov esi, dword [edi + 0x643]
add esp, 4
mov ebp, eax
call fcn.005728f0
not eax
and eax, 0x1b6
push eax
push 1
push 5
push esi
call fcn.00572410
mov edx, dword [0x5b46cc]
mov dword [edx + 0x14c], eax
mov eax, dword [0x5b46cc]
add esp, 0x10
cmp dword [eax + 0x14c], 0xffffffff
jne 0x47105d
inc esi
cmp esi, dword [edi + 0x643]
jle 0x471020
push ebp
call fcn.004d0a80
mov ecx, dword [edi + 0x643]
inc ecx
add esp, 4
cmp esi, ecx
je 0x4710df
push ebx
mov dword [edi + 0x63b], esi
call fcn.004d0a80
mov esi, dword [edi + 0x643]
add esp, 4
mov ebp, eax
call fcn.005728f0
mov edx, dword [edi + 0x62f]
not eax
and eax, 0x1b6
push eax
push 1
push edx
push esi
call fcn.00572270
mov ecx, dword [0x5b46cc]
mov dword [ecx + 0x148], eax
mov edx, dword [0x5b46cc]
add esp, 0x10
cmp dword [edx + 0x148], 0xffffffff
jne 0x4710cb
inc esi
cmp esi, dword [edi + 0x643]
jle 0x471088
push ebp
call fcn.004d0a80
mov eax, dword [edi + 0x643]
inc eax
add esp, 4
cmp esi, eax
jne 0x471130
mov ecx, dword [0x5b46cc]
mov edx, dword [ecx + 0x148]
push edx
call fcn.005723e0
xor eax, eax
mov dword [edi + 0x63f], eax
mov dword [edi + 0x63b], eax
mov eax, dword [edi + 0x643]
push eax
push 0x36b8
push 0x723
call fcn.00406f10
add esp, 0x10
pop ebp
pop edi
pop esi
mov eax, 0x723
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00586584
add esp, 0x20
ret
mov eax, 1
movzx ecx, ax
mov eax, ecx
shl ecx, 0x10
or eax, ecx
xor edx, edx
mov dword [esp + 0x20], eax
push ebx
mov dword [edi + 0x63f], esi
mov dword [esp + 0x28], eax
mov word [esp + 0x2c], ax
mov word [esp + 0x26], dx
call fcn.004d0a80
mov ebp, dword [esp + 0x40]
mov edx, dword [0x5b46cc]
mov esi, eax
mov eax, dword [esp + 0x3c]
push ebp
push eax
mov eax, dword [edx + 0x14c]
lea ecx, [esp + 0x2c]
push ecx
push 5
push eax
call fcn.005724b0
add esp, 0x18
cmp eax, 0xffffffff
jne 0x4711b3
mov ecx, dword [0x5b46cc]
mov edx, dword [ecx + 0x14c]
push edx
push 0x724
call fcn.004073f0
push esi
mov ebx, eax
call fcn.004d0a80
add esp, 0xc
jmp 0x47123c
push esi
call fcn.004d0a80
push ebx
call fcn.004d0a80
mov ecx, dword [0x5b46cc]
mov edx, dword [ecx + 0x148]
mov esi, eax
mov eax, dword [esp + 0x40]
push ebp
push eax
push edx
call fcn.004d0a80
add esp, 0x14
cmp eax, 0xffffffff
jne 0x4711f4
mov eax, dword [0x5b46cc]
mov ecx, dword [eax + 0x148]
push ecx
push 0x731
jmp 0x47119e
push esi
call fcn.004d0a80
mov edx, dword [0x5b46cc]
mov eax, dword [edx + 0x148]
push 0
push eax
call fcn.00572390
mov ecx, dword [0x5b46cc]
mov dword [ecx + 4], eax
mov eax, dword [0x5b46cc]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0x148]
add esp, 0xc
push edx
test ecx, ecx
jne 0x471290
push 0x72f
call fcn.004073f0
add esp, 8
mov ebx, eax
mov eax, dword [0x5b46cc]
mov ecx, dword [eax + 0x148]
push ecx
call fcn.005723e0
mov edx, dword [0x5b46cc]
mov eax, dword [edx + 0x14c]
push eax
call fcn.005724b0
xor eax, eax
push 0x36b8
push eax
mov dword [edi + 0x63f], eax
mov dword [edi + 0x63b], eax
call fcn.00406f10
add esp, 0x10
pop ebp
pop edi
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00586584
add esp, 0x20
ret
mov eax, dword [eax + 0x14c]
push eax
push edi
push ecx
call fcn.004716c0
mov ecx, dword [0x5b46cc]
mov edx, dword [ecx + 4]
push edi
push edx
call fcn.0046eb70
push ebx
call fcn.004d0a80
xor ebx, ebx
add esp, 0x1c
cmp dword [edi + 0x657], ebx
mov dword [esp + 0x10], eax
jle 0x471346
lea esi, [ebx + 0x2c]
lea esp, [esp]
mov eax, dword [esp + 0x1c]
mov ecx, dword [edi + 0x63f]
push ebx
push 1
push eax
neg ecx
push ecx
call fcn.00572270
mov edx, dword [0x5b46cc]
mov ecx, dword [edx + 4]
mov dword [esi + ecx], eax
mov edx, dword [0x5b46cc]
mov eax, dword [edx + 4]
mov eax, dword [esi + eax]
add esp, 0x10
cmp eax, 0xffffffff
je 0x471421
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0x471316
mov dword [ecx + esi - 0x2c], eax
mov edx, dword [0x5b46cc]
mov ecx, dword [esp + 0x38]
mov eax, dword [edx + 4]
push ebp
push ecx
mov ecx, dword [eax + esi]
push ecx
call fcn.004d0a80
add esp, 0xc
cmp eax, 0xffffffff
je 0x4714d3
inc ebx
add esi, 4
cmp ebx, dword [edi + 0x657]
jl 0x4712d0
mov edx, dword [esp + 0x10]
push edx
call fcn.004d0a80
mov eax, dword [0x5b46cc]
mov ecx, dword [eax + 4]
push 0
push ecx
call fcn.005723b0
add esp, 0xc
test eax, eax
je 0x4714ff
mov edx, dword [0x5b46cc]
mov eax, dword [edx + 0x148]
push eax
push 0x733
call fcn.004073f0
add esp, 8
mov ebx, eax
mov esi, 0x2c
lea esp, [esp]
mov ecx, dword [0x5b46cc]
mov edx, dword [ecx + 4]
mov eax, dword [esi + edx]
cmp eax, 0xffffffff
je 0x4713aa
push eax
call fcn.005723e0
add esp, 4
add esi, 4
cmp esi, 0xcc
jl 0x471390
mov eax, dword [0x5b46cc]
mov ecx, dword [eax + 4]
xor esi, esi
push esi
push ecx
call fcn.005723b0
mov edx, dword [0x5b46cc]
mov dword [edx + 4], esi
mov eax, dword [0x5b46cc]
mov ecx, dword [eax + 0x148]
push ecx
call fcn.005723e0
mov edx, dword [0x5b46cc]
mov eax, dword [edx + 0x14c]
push eax
call fcn.005724b0
push 0x36b8
push esi
mov dword [edi + 0x63f], esi
mov dword [edi + 0x63b], esi
call fcn.00406f10
add esp, 0x18
pop ebp
pop edi
pop esi
mov eax, ebx
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00586584
add esp, 0x20
ret
mov edx, dword [esp + 0x10]
push edx
call fcn.004d0a80
add esp, 4
mov esi, 0x2c
mov eax, dword [0x5b46cc]
mov ecx, dword [eax + 4]
mov eax, dword [esi + ecx]
cmp eax, 0xffffffff
je 0x47144c
push eax
call fcn.005723e0
add esp, 4
add esi, 4
cmp esi, 0xcc
jl 0x471433
mov edx, dword [0x5b46cc]
mov eax, dword [edx + 4]
xor esi, esi
push esi
push eax
call fcn.005723b0
mov ecx, dword [0x5b46cc]
mov dword [ecx + 4], esi
mov edx, dword [0x5b46cc]
mov eax, dword [edx + 0x148]
push eax
call fcn.005723e0
mov ecx, dword [0x5b46cc]
mov edx, dword [ecx + 0x14c]
push edx
call fcn.005724b0
mov eax, dword [edi + 0x657]
push eax
push 0x36b8
push 0xf42
mov dword [edi + 0x63f], esi
mov dword [edi + 0x63b], esi
call fcn.00406f10
add esp, 0x1c
pop ebp
pop edi
pop esi
mov eax, 0xf42
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00586584
add esp, 0x20
ret
mov ecx, dword [0x5b46cc]
mov edx, dword [ecx + 4]
mov eax, dword [edx + ebx*4 + 0x2c]
push eax
push 0x731
call fcn.004073f0
mov ecx, dword [esp + 0x18]
push ecx
mov ebx, eax
call fcn.004d0a80
add esp, 0xc
jmp 0x471387
mov ecx, dword [esp + 0x18]
mov dword [ecx], 1
xor ebx, ebx
mov edx, dword [0x5b46cc]
pop ebp
pop edi
pop esi
mov dword [edx + 4], ebx
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00586584
add esp, 0x20
ret
mov edx, dword [esp + 0x38]
mov eax, dword [0x5b46cc]
mov ecx, dword [eax + 0x14c]
push edx
push 5
push ecx
call fcn.005724b0
add esp, 0xc
cmp eax, ebp
jne 0x47155f
mov edx, dword [0x5b46cc]
mov eax, dword [edx + 0x14c]
push eax
push 0x72e
jmp 0x47165b
cmp eax, 1
jne 0x4715a1
mov ecx, dword [edi + 0x643]
push ecx
push 0x36b8
push 0xf45
mov dword [edi + 0x63f], ebx
mov dword [edi + 0x63b], ebx
call fcn.00406f10
add esp, 0xc
pop ebp
pop edi
pop esi
mov eax, 0xf45
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00586584
add esp, 0x20
ret
mov edx, dword [0x5b46cc]
mov eax, dword [edx + 0x148]
push ebx
push eax
call fcn.00572390
mov ecx, dword [0x5b46cc]
mov dword [ecx + 4], eax
mov eax, dword [0x5b46cc]
add esp, 8
cmp dword [eax + 4], ebx
jne 0x4715db
mov edx, dword [eax + 0x148]
push edx
push 0x72f
jmp 0x47165b
push ebx
push edi
call fcn.0046e710
add esp, 8
cmp eax, ebx
je 0x471627
mov edx, dword [edi + 0x643]
push eax
mov eax, dword [0x5b46cc]
mov ecx, dword [eax + 0x148]
push ecx
push edx
push 0x36b8
push 0xf3f
call fcn.00406f10
add esp, 0x14
pop ebp
pop edi
pop esi
mov eax, 0xf3f
pop ebx
mov ecx, dword [esp + 0x1c]
xor ecx, esp
call fcn.00586584
add esp, 0x20
ret
mov eax, dword [0x5b46cc]
mov ecx, dword [eax + 4]
push ebx
push ecx
call fcn.005723b0
add esp, 8
test eax, eax
je 0x47150b
mov edx, dword [0x5b46cc]
mov dword [edx + 4], ebx
mov eax, dword [0x5b46cc]
mov ecx, dword [eax + 0x148]
push ecx
push 0x733
call fcn.004073f0
add esp, 8
mov esi, eax
push 0x36b8
push ebx
mov dword [edi + 0x63f], ebx
mov dword [edi + 0x63b], ebx
call fcn.00406f10
mov ecx, dword [esp + 0x34]
add esp, 8
pop ebp
pop edi
mov eax, esi
pop esi
pop ebx
xor ecx, esp
call fcn.00586584
add esp, 0x20
ret