Function at 0x420ec2
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x80
mov dword [ebp - 0x10], 0x8df67443
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x64]
mov dword [ebp - 0x24], eax
mov eax, dword [ebp - 0x68]
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x2c], eax
mov ebx, dword [ebp - 0x78]
mov edi, dword [ebp - 0x74]
mov esi, dword [ebp - 0x70]
mov eax, dword [ebp - 0x10]
cmp eax, 0xd7ffe92c
jle 0x420f74
cmp eax, 0x2752c168
jg 0x420fac
cmp eax, 0xe1affffa
jg 0x42103d
cmp eax, 0xdcf2ba7c
jg 0x42114d
cmp eax, 0xd7ffe92d
je 0x421377
cmp eax, 0xda35ffc3
jne 0x420f02
mov ecx, dword [ebp - 0x1c]
lea eax, [ecx - 0x47]
imul eax, eax
add ecx, 0xffffffa5
imul edx, eax, 0x1cb3
shr ecx, 5
dec edx
add ecx, 0x40
mov dword [ebp - 0x1c], ecx
mov ecx, 0xd28bd84d
cmp edx, eax
je 0x420f69
mov ecx, 0x600ad2e7
mov dword [ebp - 0x10], ecx
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x30], eax
jmp 0x420f02
cmp eax, 0xbc090d01
jg 0x420ff1
cmp eax, 0x901d2ac3
jle 0x421063
cmp eax, 0xa64c72d1
jg 0x421184
cmp eax, 0x901d2ac4
je 0x42126f
cmp eax, 0x927b6d05
je 0x421334
jmp 0x420f02
cmp eax, 0x3eb92da3
jle 0x4210bb
cmp eax, 0x5df9003b
jg 0x4211da
cmp eax, 0x3eb92da4
je 0x4212a2
cmp eax, 0x5724a539
jne 0x420f02
mov eax, dword [ebp - 0x14]
add eax, 0x6b
shr eax, 0xc
imul eax, eax, 0x7d
add eax, 0xb815
shr eax, 7
jmp 0x421260
cmp eax, 0xcc362a7c
jle 0x421111
cmp eax, 0xd0c1725a
jg 0x4211f5
cmp eax, 0xcc362a7d
je 0x4212c1
cmp eax, 0xd034e113
jne 0x420f02
imul ecx, dword [ebp - 0x14], 0xc8a000
mov eax, 0xc0093d18
add ecx, 0xa654e000
mov dword [ebp - 0x14], ecx
jne 0x421298
jmp 0x42144b
cmp eax, 0x5ec6b78
jle 0x42123d
cmp eax, 0x5ec6b79
je 0x4213a1
cmp eax, 0x25574862
je 0x4212d8
jmp 0x420f02
cmp eax, 0x81536e3e
je 0x4213b3
cmp eax, 0x8284f69c
je 0x4213e0
cmp eax, 0x8df67443
jne 0x420f02
push dword [ebp + 8]
call fcn.0042cf20
add esp, 4
mov esi, eax
mov eax, 0xa64c72d2
cmp esi, 4
jge 0x4210a0
mov eax, 0xde8dcad1
mov edi, esi
xor edi, 0x20
mov dword [ebp - 0x10], eax
mov eax, dword [ebp + 8]
mov ebx, eax
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], eax
jmp 0x420f02
cmp eax, 0x2752c169
je 0x42135b
cmp eax, 0x2c25813e
mov dword [ebp - 0x18], ebx
je 0x421401
cmp eax, 0x32f73786
jne 0x420f02
mov ebx, edi
mov edi, esi
mov esi, dword [ebp - 0x14]
mov eax, 0xffffff28
add esi, eax
mov dword [ebp - 0x14], esi
push esi
call fcn.00420ec2
add esp, 4
mov eax, 0xd034e113
cmp esi, 0x1c
je 0x421498
mov eax, 0xbc090d02
jmp 0x421498
cmp eax, 0xbc090d02
je 0x421433
cmp eax, 0xc0093d18
je 0x421453
cmp eax, 0xc88cc091
jne 0x420f02
imul eax, dword [ebp - 0x14], 0xaf
add eax, 0x2021
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0x2752c169
jmp 0x420f02
cmp eax, 0xdcf2ba7d
je 0x4214a7
cmp eax, 0xde8dcad1
jne 0x420f02
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x84], eax
mov dword [ebp - 0x10], 0xbc090d02
jmp 0x420f02
cmp eax, 0xa64c72d2
je 0x42151c
cmp eax, 0xbac89fe7
jne 0x420f02
mov dword [ebp - 0x18], ebx
mov ebx, edi
mov edi, esi
mov esi, dword [ebp - 0x14]
shl esi, 0xa
add esi, 0x9400
mov dword [ebp - 0x14], esi
push 0x39b5
push esi
call fcn.00420775
add esp, 8
push esi
mov esi, edi
mov edi, ebx
mov ebx, dword [ebp - 0x18]
call fcn.00420ec2
add esp, 4
mov dword [ebp - 0x10], 0xbc090d02
jmp 0x420f02
cmp eax, 0x5df9003c
je 0x4212f9
cmp eax, 0x600ad2e7
je 0x42138c
jmp 0x420f02
cmp eax, 0xd0c1725b
je 0x421531
cmp eax, 0xd28bd84d
jne 0x420f02
mov eax, dword [ebp - 0x14]
shr eax, 0xc
add eax, 0xffffff51
shr eax, 0x10
imul ecx, eax, 0x6b64
mov dword [ebp - 0x14], ecx
mov eax, 0x2c25813e
cmp ecx, 0x98
jb 0x42144b
mov eax, 0x81536e3e
jmp 0x42144b
cmp eax, 0xe1affffb
jne 0x421544
mov eax, dword [ebp - 0x14]
mov ecx, 0x1fffff78
add eax, ecx
shr eax, 1
imul eax, eax, 0x150
shr eax, 0xb
and eax, 0xfffffff0
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x10], 0xbc090d02
jmp 0x420f02
mov eax, dword [ebp - 0x1c]
imul ecx, eax, 0x2f
imul eax, eax, 0x17800
imul ecx, ecx
imul edx, ecx, 0x36a7
shr eax, 0xb
dec edx
mov dword [ebp - 0x1c], eax
mov eax, 0xbac89fe7
cmp edx, ecx
je 0x42144b
mov eax, 0xcc362a7d
jmp 0x42144b
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax + 1]
shl eax, 8
xor eax, dword [ebp - 0x88]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x10], 0xd7ffe92d
jmp 0x420f02
mov eax, dword [ebp - 0x44]
movzx eax, word [eax]
cmp eax, 0xcd03
je 0x4212f9
movzx eax, ax
cmp eax, 0xf0b
jne 0x421334
mov dword [ebp - 0x54], esi
mov dword [ebp - 0x50], edi
mov dword [ebp - 0x18], ebx
popal
jmp 0x4212e2
mov ecx, dword [ebp - 0x1c]
lea eax, [ecx - 0x7a]
shr eax, 6
imul eax, eax
imul edx, eax, 0x7ef3
dec edx
shl ecx, 4
add ecx, 0xffffdc60
and ecx, 0xfffffc00
mov dword [ebp - 0x1c], ecx
mov ecx, 0x32f73786
cmp edx, eax
je 0x42132c
mov ecx, 0x25574862
mov dword [ebp - 0x10], ecx
jmp 0x420f02
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x84]
cmp eax, 1
je 0x421377
cmp eax, 2
je 0x42138c
cmp eax, 3
jne 0x4213a1
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax + 2]
shl eax, 0x10
xor eax, dword [ebp - 0x3c]
mov dword [ebp - 0x7c], eax
mov dword [ebp - 0x10], 0xda35ffc3
jmp 0x420f02
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x8c], eax
mov dword [ebp - 0x10], 0x8284f69c
jmp 0x420f02
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x10], 0x3eb92da4
jmp 0x420f02
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x10], 0xf3b08f3c
jmp 0x420f02
mov ecx, dword [ebp - 0x14]
mov eax, 0xffffff48
add ecx, eax
shr ecx, 4
and ecx, 0xfffffff0
lea eax, [ecx - 0x6d0]
mov dword [ebp - 0x14], eax
mov eax, 0xd0c1725b
cmp ecx, 0x7c0
jb 0x42144b
mov eax, 0xe1affffb
jmp 0x42144b
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax]
xor eax, dword [ebp - 0x8c]
imul eax, eax, 0x5bd1e995
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x10], 0x5ec6b79
jmp 0x420f02
mov ebx, edi
mov edi, esi
mov esi, dword [ebp - 0x14]
shr esi, 0x1c
mov dword [ebp - 0x14], esi
push esi
call fcn.00420ec2
add esp, 4
push esi
mov esi, edi
mov edi, ebx
mov ebx, dword [ebp - 0x18]
call fcn.00420ec2
add esp, 4
mov dword [ebp - 0x10], 0x5724a539
jmp 0x420f02
mov eax, dword [ebp + 4]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x44]
cmp byte [eax], 0xcc
mov eax, 0x25574862
je 0x42144b
mov eax, 0x901d2ac4
mov dword [ebp - 0x10], eax
jmp 0x420f02
mov dword [ebp - 0x18], ebx
mov ebx, edi
mov edi, esi
mov eax, dword [ebp - 0x14]
shr eax, 0xf
imul esi, eax, 0x9f
add esi, 0xffffd97e
mov dword [ebp - 0x14], esi
push esi
call fcn.00420ec2
add esp, 4
push esi
push 0xaa1
call fcn.00420775
add esp, 8
mov eax, 0xbc090d02
cmp esi, 0x88
jb 0x421498
mov eax, 0xcc362a7d
mov dword [ebp - 0x10], eax
mov esi, edi
mov edi, ebx
mov ebx, dword [ebp - 0x18]
jmp 0x420f02
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax]
mov ecx, dword [ebp - 0x20]
movzx ecx, byte [ecx + 1]
shl ecx, 8
or ecx, eax
mov eax, dword [ebp - 0x20]
movzx eax, byte [eax + 2]
shl eax, 0x10
or eax, ecx
mov ecx, dword [ebp - 0x20]
movzx ecx, byte [ecx + 3]
shl ecx, 0x18
or ecx, eax
imul eax, ecx, 0x5bd1e995
mov ecx, eax
shr ecx, 0x18
xor ecx, eax
imul edi, ecx, 0x5bd1e995
imul eax, dword [ebp - 0x80], 0x5bd1e995
mov ebx, dword [ebp - 0x20]
mov esi, dword [ebp - 0x48]
mov edx, dword [ebp - 0x48]
mov ecx, 0xa64c72d2
cmp edx, 8
jae 0x421503
mov ecx, 0xde8dcad1
xor edi, eax
add ebx, 4
add esi, 0xfffffffc
mov dword [ebp - 0x10], ecx
mov dword [ebp - 0x2c], esi
mov dword [ebp - 0x28], edi
mov dword [ebp - 0x24], ebx
jmp 0x420f02
mov dword [ebp - 0x48], esi
mov dword [ebp - 0x80], edi
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0x10], 0xdcf2ba7d
jmp 0x420f02
mov dword [ebp - 0x14], 0xfffac000
mov dword [ebp - 0x10], 0x2752c169
jmp 0x420f02
cmp eax, 0xf3b08f3c
jne 0x420f02
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x24]
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x68], eax
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x78], ebx
mov dword [ebp - 0x74], edi
mov dword [ebp - 0x70], esi
mov eax, dword [ebp - 0x4c]
shr eax, 0xd
xor eax, dword [ebp - 0x4c]
imul ecx, eax, 0x5bd1e995
mov eax, ecx
shr eax, 0xf
xor eax, ecx
add esp, 0x80
pop esi
pop edi
pop ebx
pop ebp
ret