Function at 0x421690
Capabilities:
Check for software breakpoints

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push esi
mov dword [ebp - 0xc], 0x14
mov dword [ebp - 8], 0
movzx eax, byte [0x431e25]
imul eax, eax, 0x54
cdq
add eax, dword [0x431e48]
mov ecx, dword [0x431e4c]
adc ecx, edx
mov edx, dword [0x431e0c]
xor esi, esi
sub edx, eax
sbb esi, ecx
mov dword [0x431e0c], edx
movzx eax, byte [0x431e26]
sub eax, 0x1d
mov byte [0x431e25], al
mov dword [ebp - 0x10], 0x2271
jmp 0x4216f1
mov ecx, dword [ebp - 0x10]
add ecx, 4
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 0x10], 0x2369
jae 0x421bc3
movzx edx, byte [0x431e11]
movzx eax, byte [0x431e13]
add edx, eax
cmp edx, 0x217
jne 0x421740
mov ecx, dword [0x431e0c]
mov edx, dword [0x431e0c]
lea eax, [edx + ecx + 5]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
add ecx, 2
movzx edx, byte [0x431e25]
sub ecx, edx
mov dword [0x431e0c], ecx
jmp 0x42177b
movzx eax, byte [0x431e25]
sub eax, 0x2111
sub eax, dword [0x431e0c]
movzx ecx, byte [0x431e17]
add eax, ecx
movzx edx, byte [0x431e17]
add edx, eax
mov byte [0x431e17], dl
mov eax, dword [0x431e0c]
sub eax, 0x5d
sub eax, dword [0x431e0c]
mov dword [ebp - 0xc], eax
movzx ecx, byte [0x431e25]
add ecx, dword [0x4467c8]
cmp ecx, 0x184
jne 0x4217c2
movzx edx, word [0x431e44]
sub edx, 0x5d
sub edx, dword [0x431e0c]
mov byte [0x431e25], dl
movzx eax, byte [0x431e25]
imul eax, eax, 0x54
add eax, dword [ebp - 0xc]
movzx ecx, byte [0x431e25]
sub ecx, eax
mov byte [0x431e25], cl
movzx edx, byte [0x431e1f]
cmp edx, dword [0x431e0c]
jb 0x421815
movzx eax, byte [0x431e25]
imul eax, eax, 0x100be
imul eax, dword [0x431e0c]
mov dword [0x431e0c], eax
movzx ecx, byte [0x431e25]
movzx edx, byte [0x431e1a]
add edx, ecx
mov byte [0x431e1a], dl
movzx eax, byte [0x431e25]
sub eax, 0x5d
sub eax, dword [0x431e0c]
mov byte [0x431e25], al
movzx ecx, byte [0x431e25]
imul ecx, dword [ebp - 0xc]
sub ecx, dword [0x431e0c]
mov byte [0x431e25], cl
movzx eax, byte [0x431e26]
cdq
push edx
push eax
mov edx, dword [0x431e4c]
push edx
mov eax, dword [0x431e48]
push eax
call fcn.00410d30
mov ecx, eax
mov esi, edx
movzx eax, word [0x431e44]
cdq
sub ecx, eax
sbb esi, edx
mov byte [0x431e26], cl
mov edx, dword [0x445b08]
add edx, dword [ebp - 0x10]
mov eax, dword [edx - 0x2271]
mov dword [0x4467c8], eax
movzx ecx, byte [0x431e25]
imul ecx, ecx, 0x100be
movzx edx, word [0x431e44]
imul ecx, edx
mov word [0x431e44], cx
cmp dword [0x431e0c], 0x4435c6c
jne 0x421a10
mov al, byte [0x431e23]
mov byte [ebp - 0x14], al
cmp byte [ebp - 0x14], 3
je 0x4218bc
cmp byte [ebp - 0x14], 0x1e
je 0x4218d1
cmp byte [ebp - 0x14], 0xcc
je 0x4218e3
jmp 0x4218f5
mov ecx, dword [ebp - 0xc]
imul ecx, dword [ebp - 0xc]
movzx edx, word [0x431e44]
sub ecx, edx
mov dword [ebp - 0xc], ecx
jmp 0x421929
mov eax, dword [ebp - 0xc]
imul eax, eax, 0x100be
imul eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x421929
mov ecx, dword [ebp - 0xc]
sub ecx, 0x5d
sub ecx, dword [ebp - 0xc]
mov word [0x431e44], cx
jmp 0x421929
movzx edx, word [0x431e44]
mov eax, dword [ebp - 0xc]
lea ecx, [edx + eax + 5]
mov word [0x431e44], cx
mov edx, dword [ebp - 0xc]
add edx, 0x41
movzx eax, word [0x431e44]
sub edx, eax
movzx ecx, word [0x431e44]
add ecx, edx
mov word [0x431e44], cx
mov dl, byte [0x431e23]
mov byte [ebp - 0x18], dl
cmp byte [ebp - 0x18], 3
je 0x421946
cmp byte [ebp - 0x18], 0x1e
je 0x42195e
cmp byte [ebp - 0x18], 0xcc
je 0x421974
jmp 0x421989
movzx eax, byte [0x431e25]
imul eax, dword [ebp - 0xc]
sub eax, dword [0x431e0c]
mov byte [0x431e25], al
jmp 0x4219a7
movzx ecx, byte [0x431e25]
imul ecx, ecx, 0x100be
imul ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
jmp 0x4219a7
movzx edx, byte [0x431e25]
sub edx, 0x5d
sub edx, dword [ebp - 0xc]
mov dword [0x431e0c], edx
jmp 0x4219a7
mov eax, dword [ebp - 0xc]
mov ecx, dword [0x431e0c]
lea edx, [ecx + eax + 5]
mov dword [0x431e0c], edx
mov eax, dword [ebp - 0xc]
add eax, 0x41
mov dword [0x431e0c], eax
movzx ecx, byte [0x431e1f]
cmp ecx, dword [0x431e0c]
jb 0x4219f9
movzx edx, byte [0x431e26]
imul edx, edx, 0x100be
imul edx, dword [0x431e0c]
mov dword [0x431e0c], edx
movzx eax, byte [0x431e26]
movzx ecx, byte [0x431e1a]
add ecx, eax
mov byte [0x431e1a], cl
movzx edx, byte [0x431e26]
sub edx, 0x5d
sub edx, dword [0x431e0c]
mov dword [ebp - 0xc], edx
movzx eax, byte [0x431e25]
mov ecx, dword [0x431e0c]
lea edx, [eax + ecx + 5]
mov byte [0x431e26], dl
movzx eax, byte [0x431e1f]
cdq
mov dword [ebp - 0x20], eax
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x1c]
cmp eax, dword [0x431e4c]
jb 0x421a93
ja 0x421a36
mov ecx, dword [ebp - 0x20]
cmp ecx, dword [0x431e48]
jb 0x421a93
movzx eax, byte [0x431e25]
imul eax, eax, 0x100be
cdq
mov ecx, dword [0x431e4c]
push ecx
mov ecx, dword [0x431e48]
push ecx
push edx
push eax
call fcn.00410d30
mov dword [0x431e48], eax
mov dword [0x431e4c], edx
movzx edx, byte [0x431e25]
movzx eax, byte [0x431e1a]
add eax, edx
mov byte [0x431e1a], al
movzx eax, byte [0x431e25]
sub eax, 0x5d
cdq
sub eax, dword [0x431e48]
sbb edx, dword [0x431e4c]
mov dword [ebp - 0xc], eax
mov ecx, dword [0x431e0c]
sub ecx, 0x2111
movzx edx, byte [0x431e25]
sub ecx, edx
add ecx, dword [ebp - 0xc]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
mov eax, dword [0x4467c8]
add eax, 0x2010f04
mov dword [0x4467c8], eax
mov ecx, dword [0x445b08]
add ecx, dword [ebp - 0x10]
mov edx, dword [0x4467c8]
mov dword [ecx - 0x2271], edx
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
lea edx, [ecx + eax - 0x3b]
mov byte [0x431e25], dl
mov al, byte [0x431e23]
mov byte [ebp - 0x24], al
cmp byte [ebp - 0x24], 3
je 0x421b01
cmp byte [ebp - 0x24], 0x1e
je 0x421b25
cmp byte [ebp - 0x24], 0xcc
je 0x421b3b
jmp 0x421b58
movzx ecx, byte [0x431e25]
imul ecx, dword [ebp - 0xc]
xor edx, edx
sub ecx, dword [0x431e48]
sbb edx, dword [0x431e4c]
mov byte [0x431e25], cl
jmp 0x421baa
movzx eax, byte [0x431e25]
imul eax, eax, 0x100be
imul eax, dword [ebp - 0xc]
mov dword [ebp - 0xc], eax
jmp 0x421baa
movzx ecx, byte [0x431e25]
sub ecx, 0x5d
sub ecx, dword [ebp - 0xc]
xor edx, edx
mov dword [0x431e48], ecx
mov dword [0x431e4c], edx
jmp 0x421baa
mov eax, dword [0x431e48]
add eax, 5
mov ecx, dword [0x431e4c]
adc ecx, 0
mov edx, dword [ebp - 0xc]
xor esi, esi
add eax, edx
adc ecx, esi
mov dword [0x431e48], eax
mov dword [0x431e4c], ecx
mov eax, dword [ebp - 0xc]
add eax, 0x41
xor ecx, ecx
sub eax, dword [0x431e48]
sbb ecx, dword [0x431e4c]
add eax, dword [0x431e48]
mov edx, dword [0x431e4c]
adc edx, ecx
mov dword [0x431e48], eax
mov dword [0x431e4c], edx
movzx eax, byte [0x431e26]
mov ecx, dword [ebp - 0xc]
lea edx, [ecx + eax - 0x3b]
mov byte [0x431e25], dl
jmp 0x4216e8
movzx eax, byte [0x431e26]
movzx ecx, byte [0x431e25]
imul eax, ecx
sub eax, 0x3e
mov byte [0x431e25], al
mov eax, dword [ebp - 0xc]
pop esi
mov esp, ebp
pop ebp
ret