Function at 0x43c31d
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x22c
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x178], 0
mov dword [ebp - 0x24], 0
mov eax, dword [ebp + 8]
mov eax, dword [eax]
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x48], 0
mov dword [ebp - 0x17c], 0
mov eax, dword [ebp + 0xc]
mov ebx, dword [eax]
mov dword [ebp - 0x4c], ebx
mov dword [ebp - 0x108], ebx
mov dword [ebp - 0x50], 0
mov dword [ebp - 0x54], 0
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x58], 0
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x10c], 0
mov dword [ebp - 0x110], 0
mov eax, dword [ebp - 0x44]
and eax, 0x200
test eax, eax
setne al
movzx eax, al
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
xor eax, 1
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x38], 0xfffffffe
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x34], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x44]
shl eax, 8
and eax, 0x100
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx esi, al
cmp dword [ebp + 0x28], 0
je 0x438b40
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x10]
add eax, 0x1000
cmp ebx, eax
jbe 0x438ab2
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x34
jmp 0x43ccc2
cmp ebx, dword [ebp - 0x4c]
jae 0x438aba
mov ebx, dword [ebp - 0x4c]
mov eax, dword [ebp + 0x28]
mov eax, dword [eax]
mov edx, 0x7fffffeb
sub edx, eax
mov eax, ebx
sub eax, dword [ebp - 0x4c]
cmp edx, eax
jge 0x438add
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x43ccc2
mov eax, dword [ebp + 0x28]
mov edx, dword [eax]
mov eax, ebx
sub eax, dword [ebp - 0x4c]
add edx, eax
mov eax, dword [ebp + 0x28]
mov dword [eax], edx
cmp dword [ebp - 0x58], 0
je 0x438b35
mov eax, dword [ebp - 0x58]
cmp eax, dword [ebp - 0x108]
jbe 0x438b3b
mov eax, ebx
sub eax, dword [ebp - 0x58]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x58]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x108]
mov dword [esp], eax
call sub.msvcrt.dll_memmove
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0x108]
neg eax
add ebx, eax
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x58], eax
jmp 0x438b3b
mov ebx, dword [ebp - 0x108]
mov dword [ebp - 0x4c], ebx
jmp 0x438b63
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0x24]
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x10]
add eax, 0x1000
cmp edx, eax
jbe 0x438b63
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x34
jmp 0x43ccc2
cmp dword [ebp - 0x50], 0
je 0x438c07
test esi, esi
je 0x438c07
cmp esi, 0x5c
jne 0x438ba5
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x45
jne 0x438ba5
mov dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x43cca4
cmp dword [ebp - 0x5c], 0
je 0x438bd4
cmp dword [ebp + 0x28], 0
jne 0x438bcd
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp + 0x24]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call fcn.00437fb6
mov dword [ebp - 0x5c], 0
mov eax, dword [ebp - 0x44]
and eax, 0x4000
test eax, eax
je 0x43cb6f
mov dword [ebp - 0x5c], ebx
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp + 0x24]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00437f55
mov ebx, eax
jmp 0x43cb6f
cmp esi, 0x2a
je 0x438c30
cmp esi, 0x2b
je 0x438c30
cmp esi, 0x3f
je 0x438c30
cmp esi, 0x7b
jne 0x438c37
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [esp], eax
call fcn.00436c64
test eax, eax
je 0x438c37
mov eax, 1
jmp 0x438c3c
mov eax, 0
mov dword [ebp - 0x114], eax
cmp dword [ebp - 0x114], 0
jne 0x438c87
cmp dword [ebp - 0x5c], 0
je 0x438c87
mov eax, dword [ebp - 0x48]
lea edx, [eax - 1]
mov dword [ebp - 0x48], edx
test eax, eax
jg 0x438c87
cmp dword [ebp + 0x28], 0
jne 0x438c80
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp + 0x24]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x5c]
mov dword [esp], eax
call fcn.00437fb6
mov dword [ebp - 0x5c], 0
mov eax, dword [ebp - 0x44]
and eax, 8
test eax, eax
je 0x438dd5
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0xc]
mov edx, esi
add eax, edx
movzx eax, byte [eax]
movzx eax, al
and eax, 1
test eax, eax
jne 0x43cc88
cmp esi, 0x23
jne 0x438dd5
jmp 0x438d9f
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x58]
test eax, eax
je 0x438d23
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp - 0x184]
cmp edx, eax
jbe 0x438d19
mov eax, dword [ebp + 0x24]
lea edi, [eax + 0x5c]
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0x58]
mov eax, dword [ebp - 0x184]
mov esi, dword [ebp - 0x10c]
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.0044465c
test eax, eax
je 0x438d19
mov eax, 1
jmp 0x438d1e
mov eax, 0
and eax, 1
jmp 0x438d82
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0x1c]
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x5c]
neg eax
add edx, eax
mov eax, dword [ebp - 0x184]
cmp edx, eax
jb 0x438d7a
mov eax, dword [ebp - 0x184]
movzx edx, byte [eax]
mov eax, dword [ebp + 0x24]
movzx eax, byte [eax + 0x60]
cmp dl, al
jne 0x438d7a
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x5c]
cmp eax, 1
je 0x438d73
mov eax, dword [ebp - 0x184]
add eax, 1
movzx edx, byte [eax]
mov eax, dword [ebp + 0x24]
movzx eax, byte [eax + 0x61]
cmp dl, al
jne 0x438d7a
mov eax, 1
jmp 0x438d7f
mov eax, 0
and eax, 1
test al, al
je 0x438d9f
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x5c]
sub eax, 1
add eax, edx
mov dword [ebp - 0x184], eax
jmp 0x438dbf
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
test al, al
jne 0x438cbe
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
test al, al
jne 0x43cc8b
mov esi, 0
mov eax, dword [ebp - 0x44]
and eax, 0x4000
test eax, eax
je 0x438e08
cmp dword [ebp - 0x114], 0
jne 0x438e08
mov dword [ebp - 0x5c], ebx
mov eax, dword [ebp - 0x184]
mov edx, dword [ebp + 0x24]
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.00437f55
mov ebx, eax
cmp esi, 0x3f
jg 0x438e3d
test esi, esi
jns 0x438e2b
jmp case.0x438e29.95
lea eax, [esi - 0x5b]
cmp eax, 0x21
ja case.0x438e29.95
mov eax, dword [eax*4 + 0x57d464]
jmp eax
cmp esi, 0x3f
ja case.0x438e29.95
mov eax, dword [esi*4 + 0x57d4ec]
jmp eax
cmp esi, 0x7c
jg case.0x438e29.95
cmp esi, 0x5b
jge 0x438e16
jmp case.0x438e29.95
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp - 0x30]
mov dword [eax], edx
mov eax, dword [ebp + 0x1c]
mov edx, dword [ebp - 0x34]
mov dword [eax], edx
mov eax, dword [ebp + 0xc]
mov dword [eax], ebx
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
cmp dword [ebp + 0x28], 0
je 0x438eaa
mov eax, dword [ebp + 0x28]
mov eax, dword [eax]
mov edx, 0x7fffffeb
sub edx, eax
mov eax, ebx
sub eax, dword [ebp - 0x4c]
cmp edx, eax
jge 0x438e99
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x43ccc2
mov eax, dword [ebp + 0x28]
mov edx, dword [eax]
mov eax, ebx
sub eax, dword [ebp - 0x4c]
add edx, eax
mov eax, dword [ebp + 0x28]
mov dword [eax], edx
mov eax, 1
jmp 0x43ccd2
mov eax, dword [ebp - 0x44]
and eax, 2
test eax, eax
je 0x438ecb
cmp dword [ebp - 0x30], 0xfffffffe
jne 0x438ecb
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x58], 0
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], 0x1a
jmp 0x43cca4
mov dword [ebp - 0x58], 0
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], 0x1b
jmp 0x43cca4
cmp dword [ebp - 0x30], 0xfffffffe
jne 0x438f00
mov dword [ebp - 0x30], 0xffffffff
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov dword [ebp - 0x58], ebx
mov eax, dword [ebp - 0x44]
and eax, 4
test eax, eax
je 0x438f20
mov edx, 0xd
jmp 0x438f25
mov edx, 0xc
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], dl
jmp 0x43cca4
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x44]
and eax, 0x2000000
test eax, eax
je 0x43cb72
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x40
jmp 0x43ccc2
mov dword [ebp - 0x58], ebx
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x3a
je 0x438f85
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x2e
je 0x438f85
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x3d
jne 0x438fc7
mov eax, dword [ebp - 0x184]
lea edx, [ebp - 0x188]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00437d4e
test eax, eax
je 0x438fc7
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x3a
jne 0x438fb8
mov edx, 0xd
jmp 0x438fbd
mov edx, 0x1f
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
jmp 0x43ccc2
mov dword [ebp - 0x64], 0
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx esi, al
cmp esi, 0x5c
jne 0x439045
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x45
jne 0x43900f
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x438fce
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [esp + 8], 3
mov dword [esp + 4], 0x57d064
mov dword [esp], eax
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x43905c
mov eax, dword [ebp - 0x184]
add eax, 3
mov dword [ebp - 0x184], eax
jmp 0x438fce
cmp dword [ebp - 0x64], 0
jne 0x43905d
cmp esi, 0x5e
jne 0x43905d
mov dword [ebp - 0x64], 1
jmp 0x438fce
nop
cmp esi, 0x5d
jne 0x4390a2
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x44]
and eax, 0x2000000
test eax, eax
je 0x4390a2
cmp dword [ebp - 0x64], 0
je 0x43907e
mov edx, 0xd
jmp 0x439083
mov edx, 0x6f
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], dl
cmp dword [ebp - 0x30], 0xfffffffe
jne 0x439097
mov dword [ebp - 0x30], 0xffffffff
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
jmp 0x43cca4
mov dword [ebp - 0x68], 0
mov dword [ebp - 0x78], 0
mov dword [ebp - 0x7c], 0xffffffff
mov dword [esp + 8], 0x20
mov dword [esp + 4], 0
lea eax, [ebp - 0x1a8]
mov dword [esp], eax
call sub.msvcrt.dll_memset
test esi, esi
je 0x439c1f
cmp dword [ebp - 0x50], 0
je 0x43911b
cmp esi, 0x5c
jne 0x43981b
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x45
jne 0x43981b
mov dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x439bed
cmp esi, 0x5b
jne 0x439402
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x3a
je 0x439158
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x2e
je 0x439158
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x3d
jne 0x439402
mov eax, dword [ebp - 0x184]
lea edx, [ebp - 0x188]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00437d4e
test eax, eax
je 0x439402
mov dword [ebp - 0x98], 0
mov eax, dword [ebp + 0x24]
mov edi, dword [eax + 8]
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x3a
je 0x4391a6
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1f
jmp 0x43ccc2
mov eax, dword [ebp - 0x184]
add eax, 2
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x5e
jne 0x4391e2
mov dword [ebp - 0x98], 1
mov dword [ebp - 0x68], 1
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x188]
mov ecx, dword [ebp - 0x184]
sub eax, ecx
mov edx, eax
mov eax, dword [ebp - 0x184]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.00437dd7
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x9c], 0
jns 0x439222
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1e
nop
jmp 0x43ccc2
mov eax, dword [ebp - 0x44]
and eax, 1
test eax, eax
je 0x43923f
cmp dword [ebp - 0x9c], 2
jg 0x43923f
mov dword [ebp - 0x9c], 0
mov edx, dword [ebp - 0x9c]
mov eax, edx
add eax, eax
add eax, edx
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x9c]
mov eax, dword [eax*4 + 0x57c400]
add eax, edi
mov edx, dword [eax]
mov dword [ebp - 0x1e0], edx
mov edx, dword [eax + 4]
mov dword [ebp - 0x1dc], edx
mov edx, dword [eax + 8]
mov dword [ebp - 0x1d8], edx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0x1d4], edx
mov edx, dword [eax + 0x10]
mov dword [ebp - 0x1d0], edx
mov edx, dword [eax + 0x14]
mov dword [ebp - 0x1cc], edx
mov edx, dword [eax + 0x18]
mov dword [ebp - 0x1c8], edx
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0x1c4], eax
mov eax, dword [ebp - 0x9c]
add eax, 1
mov eax, dword [eax*4 + 0x57c400]
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0x9c]
add eax, 2
mov eax, dword [eax*4 + 0x57c400]
mov dword [ebp - 0xa0], eax
cmp dword [ebp - 0x118], 0
js 0x439345
cmp dword [ebp - 0xa0], 0
js 0x439314
mov esi, 0
jmp 0x43930d
movzx edx, byte [ebp + esi - 0x1e0]
mov eax, dword [ebp - 0x118]
add eax, esi
add eax, edi
movzx eax, byte [eax]
or eax, edx
mov byte [ebp + esi - 0x1e0], al
add esi, 1
cmp esi, 0x1f
jle 0x4392ec
jmp 0x439345
mov esi, 0
jmp 0x439340
movzx eax, byte [ebp + esi - 0x1e0]
mov edx, eax
mov eax, dword [ebp - 0x118]
add eax, esi
add eax, edi
movzx eax, byte [eax]
not eax
and eax, edx
mov byte [ebp + esi - 0x1e0], al
add esi, 1
cmp esi, 0x1f
jle 0x43931b
cmp dword [ebp - 0xa0], 0
jns 0x439354
neg dword [ebp - 0xa0]
cmp dword [ebp - 0xa0], 1
jne 0x43936f
movzx eax, byte [ebp - 0x1df]
and eax, 0xffffffc3
mov byte [ebp - 0x1df], al
jmp 0x439388
cmp dword [ebp - 0xa0], 2
jne 0x439388
movzx eax, byte [ebp - 0x1d5]
and eax, 0x7f
mov byte [ebp - 0x1d5], al
cmp dword [ebp - 0x98], 0
je 0x4393bf
mov esi, 0
jmp 0x4393b8
movzx eax, byte [ebp + esi - 0x1a8]
mov edx, eax
movzx eax, byte [ebp + esi - 0x1e0]
not eax
or eax, edx
mov byte [ebp + esi - 0x1a8], al
add esi, 1
cmp esi, 0x1f
jle 0x439398
jmp 0x4393e7
mov esi, 0
jmp 0x4393e2
movzx edx, byte [ebp + esi - 0x1a8]
movzx eax, byte [ebp + esi - 0x1e0]
or eax, edx
mov byte [ebp + esi - 0x1a8], al
add esi, 1
cmp esi, 0x1f
jle 0x4393c6
mov eax, dword [ebp - 0x188]
add eax, 1
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x78], 0xa
jmp 0x439bed
cmp esi, 0x5c
jne 0x43981e
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x10], 1
mov edx, dword [ebp - 0x44]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], eax
lea eax, [ebp - 0x184]
mov dword [esp], eax
call fcn.00436757
mov esi, eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
test eax, eax
jne 0x43ccb8
cmp esi, 0xfffffffb
jne 0x439454
mov esi, 8
jmp 0x4394ba
cmp esi, 0xffffffea
jne 0x439460
mov esi, 0x58
jmp 0x4394ba
cmp esi, 0xffffffef
jne 0x43946c
mov esi, 0x52
jmp 0x4394ba
cmp esi, 0xffffffe6
jne 0x4394b1
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x5c
jne 0x4394a5
mov eax, dword [ebp - 0x184]
add eax, 2
movzx eax, byte [eax]
cmp al, 0x45
jne 0x4394a5
mov eax, dword [ebp - 0x184]
add eax, 2
mov dword [ebp - 0x184], eax
jmp 0x439bed
mov dword [ebp - 0x50], 1
jmp 0x439bed
cmp esi, 0xffffffe7
je 0x439be6
test esi, esi
jns 0x43981e
mov eax, dword [ebp + 0x24]
mov edi, dword [eax + 8]
add dword [ebp - 0x78], 2
cmp dword [ebp + 0x28], 0
jne 0x439648
mov eax, esi
neg eax
sub eax, 6
cmp eax, 5
ja case.default.0x4394ed
mov eax, dword [eax*4 + 0x57d5ec]
jmp eax
mov esi, 0
jmp 0x439514
movzx edx, byte [ebp + esi - 0x1a8]
mov eax, esi
add eax, 0x40
add eax, edi
movzx eax, byte [eax]
or eax, edx
mov byte [ebp + esi - 0x1a8], al
add esi, 1
cmp esi, 0x1f
jle 0x4394f6
jmp 0x439bed
mov dword [ebp - 0x68], 1
mov esi, 0
jmp 0x43954e
movzx eax, byte [ebp + esi - 0x1a8]
mov edx, eax
mov eax, esi
add eax, 0x40
add eax, edi
movzx eax, byte [eax]
not eax
or eax, edx
mov byte [ebp + esi - 0x1a8], al
add esi, 1
cmp esi, 0x1f
jle 0x43952c
jmp 0x439bed
mov esi, 0
jmp 0x43957f
movzx edx, byte [ebp + esi - 0x1a8]
mov eax, esi
add eax, 0xa0
add eax, edi
movzx eax, byte [eax]
or eax, edx
mov byte [ebp + esi - 0x1a8], al
add esi, 1
cmp esi, 0x1f
jle 0x43955f
jmp 0x439bed
mov dword [ebp - 0x68], 1
mov esi, 0
jmp 0x4395bb
movzx eax, byte [ebp + esi - 0x1a8]
mov edx, eax
mov eax, esi
add eax, 0xa0
add eax, edi
movzx eax, byte [eax]
not eax
or eax, edx
mov byte [ebp + esi - 0x1a8], al
add esi, 1
cmp esi, 0x1f
jle 0x439597
jmp 0x439bed
mov esi, 0
jmp 0x4395e7
movzx edx, byte [ebp + esi - 0x1a8]
mov eax, esi
add eax, edi
movzx eax, byte [eax]
or eax, edx
mov byte [ebp + esi - 0x1a8], al
add esi, 1
cmp esi, 0x1f
jle 0x4395cc
movzx eax, byte [ebp - 0x1a7]
and eax, 0xfffffff7
mov byte [ebp - 0x1a7], al
jmp 0x439bed
mov dword [ebp - 0x68], 1
mov esi, 0
jmp 0x43962e
movzx eax, byte [ebp + esi - 0x1a8]
mov edx, eax
mov eax, esi
add eax, edi
movzx eax, byte [eax]
not eax
or eax, edx
mov byte [ebp + esi - 0x1a8], al
add esi, 1
cmp esi, 0x1f
jle 0x43960f
movzx eax, byte [ebp - 0x1a7]
or eax, 8
mov byte [ebp - 0x1a7], al
jmp 0x439bed
cmp esi, 0xfffffff9
je 0x439be9
cmp esi, 0xfffffffa
je 0x439be9
cmp esi, 0xfffffff5
je 0x439be9
cmp esi, 0xfffffff6
je 0x439be9
cmp esi, 0xfffffff7
je 0x439be9
cmp esi, 0xfffffff8
je 0x439be9
jmp 0x439681
nop
cmp esi, 0xffffffed
jne 0x4396bb
movzx eax, byte [ebp - 0x1a7]
or eax, 2
mov byte [ebp - 0x1a7], al
movzx eax, byte [ebp - 0x1a4]
or eax, 1
mov byte [ebp - 0x1a4], al
movzx eax, byte [ebp - 0x194]
or eax, 1
mov byte [ebp - 0x194], al
jmp 0x439bed
cmp esi, 0xffffffee
jne 0x439729
mov esi, 0
jmp 0x43971f
mov dword [ebp - 0xa4], 0xff
cmp esi, 0x14
je 0x4396f9
cmp esi, 0x14
jg 0x439702
cmp esi, 1
je 0x4396e7
cmp esi, 4
je 0x4396f0
jmp 0x439702
xor dword [ebp - 0xa4], 2
jmp 0x439703
xor dword [ebp - 0xa4], 1
jmp 0x439703
xor dword [ebp - 0xa4], 1
jmp 0x439703
nop
movzx eax, byte [ebp + esi - 0x1a8]
mov edx, eax
mov eax, dword [ebp - 0xa4]
or eax, edx
mov byte [ebp + esi - 0x1a8], al
add esi, 1
cmp esi, 0x1f
jle 0x4396c7
jmp 0x439bed
cmp esi, 0xffffffeb
jne 0x439783
movzx eax, byte [ebp - 0x1a7]
or eax, 4
mov byte [ebp - 0x1a7], al
movzx eax, byte [ebp - 0x1a7]
or eax, 8
mov byte [ebp - 0x1a7], al
movzx eax, byte [ebp - 0x1a7]
or eax, 0x10
mov byte [ebp - 0x1a7], al
movzx eax, byte [ebp - 0x1a7]
or eax, 0x20
mov byte [ebp - 0x1a7], al
movzx eax, byte [ebp - 0x198]
or eax, 0x20
mov byte [ebp - 0x198], al
jmp 0x439bed
cmp esi, 0xffffffec
jne 0x4397f1
mov esi, 0
jmp 0x4397e7
mov dword [ebp - 0xa8], 0xff
cmp esi, 1
je 0x4397a5
cmp esi, 0x10
je 0x4397c3
jmp 0x4397cb
xor dword [ebp - 0xa8], 4
xor dword [ebp - 0xa8], 8
xor dword [ebp - 0xa8], 0x10
xor dword [ebp - 0xa8], 0x20
jmp 0x4397cb
xor dword [ebp - 0xa8], 0x20
nop
movzx eax, byte [ebp + esi - 0x1a8]
mov edx, eax
mov eax, dword [ebp - 0xa8]
or eax, edx
mov byte [ebp + esi - 0x1a8], al
add esi, 1
cmp esi, 0x1f
jle 0x43978f
jmp 0x439bed
mov eax, dword [ebp - 0x44]
and eax, 0x40
test eax, eax
je 0x439809
mov eax, dword [ebp + 0x14]
mov dword [eax], 7
jmp 0x43ccc2
sub dword [ebp - 0x78], 2
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx esi, al
jmp 0x439837
nop
jmp 0x439837
nop
jmp 0x439837
mov dword [ebp - 0x50], 0
mov eax, dword [ebp - 0x184]
add eax, 2
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x5c
jne 0x439857
mov eax, dword [ebp - 0x184]
add eax, 2
movzx eax, byte [eax]
cmp al, 0x45
je 0x439821
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x11c], eax
cmp esi, 0xd
je 0x43986d
cmp esi, 0xa
jne 0x43987e
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x48]
or eax, 0x20
mov edx, eax
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x48], edx
cmp dword [ebp - 0x50], 0
jne 0x439b4b
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x2d
jne 0x439b4b
mov eax, dword [ebp - 0x184]
add eax, 2
mov dword [ebp - 0x184], eax
jmp 0x4398bc
mov eax, dword [ebp - 0x184]
add eax, 2
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x5c
jne 0x439921
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x45
je 0x4398ad
jmp 0x439921
mov eax, dword [ebp - 0x184]
add eax, 2
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x5c
jne 0x439918
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x45
jne 0x439918
mov eax, dword [ebp - 0x184]
add eax, 2
mov dword [ebp - 0x184], eax
jmp 0x439921
mov dword [ebp - 0x50], 1
jmp 0x43993e
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x5c
jne 0x43993e
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x51
je 0x4398db
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
test al, al
je 0x43995e
cmp dword [ebp - 0x50], 0
jne 0x43996f
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x5d
jne 0x43996f
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x184], eax
jmp 0x439b4f
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0xac], eax
cmp dword [ebp - 0x50], 0
jne 0x439a32
cmp dword [ebp - 0xac], 0x5c
jne 0x439a32
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x10], 1
mov edx, dword [ebp - 0x44]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], eax
lea eax, [ebp - 0x184]
mov dword [esp], eax
call fcn.00436757
mov dword [ebp - 0xac], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
test eax, eax
jne 0x43ccbb
cmp dword [ebp - 0xac], 0
jns 0x439a32
cmp dword [ebp - 0xac], 0xfffffffb
jne 0x4399f7
mov dword [ebp - 0xac], 8
jmp 0x439a32
cmp dword [ebp - 0xac], 0xffffffea
jne 0x439a0c
mov dword [ebp - 0xac], 0x58
jmp 0x439a32
cmp dword [ebp - 0xac], 0xffffffef
jne 0x439a21
mov dword [ebp - 0xac], 0x52
jmp 0x439a32
mov eax, dword [ebp - 0x11c]
mov dword [ebp - 0x184], eax
jmp 0x439b4f
cmp dword [ebp - 0xac], esi
jge 0x439a48
mov eax, dword [ebp + 0x14]
mov dword [eax], 8
jmp 0x43ccc2
cmp dword [ebp - 0xac], esi
je 0x439b4e
cmp dword [ebp - 0xac], 0xd
je 0x439a66
cmp dword [ebp - 0xac], 0xa
jne 0x439a77
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x48]
or eax, 0x20
mov edx, eax
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x48], edx
mov eax, dword [ebp - 0xac]
sub eax, esi
add eax, 1
add dword [ebp - 0x78], eax
mov eax, dword [ebp - 0xac]
mov dword [ebp - 0x7c], eax
cmp dword [ebp + 0x28], 0
jne 0x439bec
jmp 0x439b3a
mov eax, esi
lea edx, [eax + 7]
test eax, eax
cmovs eax, edx
sar eax, 3
movzx edx, byte [ebp + eax - 0x1a8]
mov byte [ebp - 0x1ec], dl
mov edi, esi
and edi, 7
mov edx, edi
mov edi, 1
mov ecx, edx
shl edi, cl
mov edx, edi
or dl, byte [ebp - 0x1ec]
mov byte [ebp + eax - 0x1a8], dl
mov eax, dword [ebp - 0x44]
and eax, 1
test eax, eax
je 0x439b37
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 4]
mov edx, esi
add eax, edx
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0x120], eax
mov eax, dword [ebp - 0x120]
lea edx, [eax + 7]
test eax, eax
cmovs eax, edx
sar eax, 3
movzx edx, byte [ebp + eax - 0x1a8]
mov byte [ebp - 0x1ec], dl
mov edx, dword [ebp - 0x120]
and edx, 7
mov edi, 1
mov ecx, edx
shl edi, cl
mov edx, edi
or dl, byte [ebp - 0x1ec]
mov byte [ebp + eax - 0x1a8], dl
add esi, 1
cmp esi, dword [ebp - 0xac]
jle 0x439a9d
jmp 0x439bec
nop
jmp 0x439b4f
nop
mov eax, esi
lea edx, [eax + 7]
test eax, eax
cmovs eax, edx
sar eax, 3
movzx edx, byte [ebp + eax - 0x1a8]
mov byte [ebp - 0x1ec], dl
mov edi, esi
and edi, 7
mov edx, edi
mov edi, 1
mov ecx, edx
shl edi, cl
mov edx, edi
or dl, byte [ebp - 0x1ec]
mov byte [ebp + eax - 0x1a8], dl
mov eax, dword [ebp - 0x44]
and eax, 1
test eax, eax
je 0x439bdd
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 4]
mov edx, esi
add eax, edx
movzx eax, byte [eax]
movzx esi, al
mov eax, esi
lea edx, [eax + 7]
test eax, eax
cmovs eax, edx
sar eax, 3
movzx edx, byte [ebp + eax - 0x1a8]
mov byte [ebp - 0x1ec], dl
mov edi, esi
and edi, 7
mov edx, edi
mov edi, 1
mov ecx, edx
shl edi, cl
mov edx, edi
or dl, byte [ebp - 0x1ec]
mov byte [ebp + eax - 0x1a8], dl
add dword [ebp - 0x78], 1
mov dword [ebp - 0x7c], esi
jmp 0x439bed
nop
jmp 0x439bed
nop
jmp 0x439bed
nop
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx esi, al
test esi, esi
je 0x439c1f
cmp esi, 0x5d
jne 0x4390dd
cmp dword [ebp - 0x50], 0
jne 0x4390dd
test esi, esi
jne 0x439c31
mov eax, dword [ebp + 0x14]
mov dword [eax], 6
jmp 0x43ccc2
cmp dword [ebp - 0x78], 1
jne 0x439c85
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x64], 0
je 0x439c6d
cmp dword [ebp - 0x30], 0xfffffffe
jne 0x439c50
mov dword [ebp - 0x30], 0xffffffff
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], 0x1e
mov eax, ebx
lea ebx, [eax + 1]
mov edx, dword [ebp - 0x7c]
mov byte [eax], dl
jmp 0x43cca4
mov eax, dword [ebp - 0x7c]
mov byte [ebp - 0x1b8], al
mov dword [ebp - 0x94], 1
jmp 0x43cb88
cmp dword [ebp - 0x30], 0xfffffffe
jne 0x439c92
mov dword [ebp - 0x30], 0xffffffff
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x64]
cmp eax, dword [ebp - 0x68]
jne 0x439cad
mov edx, 0x4e
jmp 0x439cb2
mov edx, 0x4f
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], dl
cmp dword [ebp - 0x64], 0
je 0x439ce6
cmp dword [ebp + 0x28], 0
jne 0x439d2d
mov esi, 0
jmp 0x439cdf
movzx edx, byte [ebp + esi - 0x1a8]
mov eax, esi
add eax, ebx
not edx
mov byte [eax], dl
add esi, 1
cmp esi, 0x1f
jle 0x439ccc
jmp 0x439d2d
mov eax, dword [ebp - 0x1a8]
mov dword [ebx], eax
mov eax, dword [ebp - 0x1a4]
mov dword [ebx + 4], eax
mov eax, dword [ebp - 0x1a0]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x19c]
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0x198]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x194]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0x190]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x18c]
mov dword [ebx + 0x1c], eax
add ebx, 0x20
jmp 0x43cca4
cmp dword [ebp - 0x114], 0
je 0x43cb75
mov eax, dword [ebp - 0x184]
lea edx, [eax + 1]
mov eax, dword [ebp + 0x14]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x178]
mov dword [esp + 8], eax
lea eax, [ebp - 0x174]
mov dword [esp + 4], eax
mov dword [esp], edx
call fcn.00436d3d
mov dword [ebp - 0x184], eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
test eax, eax
je 0x439dc4
jmp 0x43ccc2
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x178], 0xffffffff
jmp 0x439dc5
mov dword [ebp - 0x174], 1
mov dword [ebp - 0x178], 0xffffffff
jmp 0x439dc5
mov dword [ebp - 0x174], 0
mov dword [ebp - 0x178], 1
jmp 0x439dc5
nop
cmp dword [ebp - 0x58], 0
jne 0x439dd9
mov eax, dword [ebp + 0x14]
mov dword [eax], 9
jmp 0x43ccc2
mov eax, dword [ebp - 0x174]
test eax, eax
jne 0x439def
mov eax, dword [ebp - 0x3c]
mov dword [ebp - 0x30], eax
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x34], eax
mov edx, dword [ebp - 0x174]
mov eax, dword [ebp - 0x178]
cmp edx, eax
jne 0x439e06
mov eax, 0
jmp 0x439e0b
mov eax, 0x200
mov dword [ebp - 0x124], eax
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x6c], 0
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0x180], eax
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x2b
jne 0x439e57
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x6c], 1
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x439e84
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x3f
jne 0x439e7e
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x439e84
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
cmp al, 0x1c
je 0x439e9c
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
cmp al, 0x1d
jne 0x439f37
lea eax, [ebx - 1]
movzx eax, byte [eax]
movzx esi, al
mov eax, dword [ebp - 0x174]
cmp eax, 1
jle 0x439ec0
mov edx, esi
or edx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x4c]
or eax, edx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x6c], 0
jne 0x43a047
mov eax, dword [ebp - 0x178]
test eax, eax
jns 0x43a047
mov eax, dword [ebp - 0x184]
lea ecx, [eax + 1]
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
movzx eax, al
mov edx, dword [ebp + 0x24]
mov dword [esp + 0x18], edx
mov edx, dword [ebp - 0x44]
mov dword [esp + 0x14], edx
mov dword [esp + 0x10], ecx
mov edx, dword [ebp - 0x110]
mov dword [esp + 0xc], edx
mov edx, dword [ebp - 0x10c]
mov dword [esp + 8], edx
mov dword [esp + 4], esi
mov dword [esp], eax
call fcn.0043800d
test eax, eax
je 0x43a047
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x6c], 1
jmp 0x43a047
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
cmp al, 0x1e
jne 0x439fc8
mov dword [ebp - 0x20], 0xd
mov eax, dword [ebp - 0x58]
add eax, 1
movzx eax, byte [eax]
movzx esi, al
cmp dword [ebp - 0x6c], 0
jne 0x43a04a
mov eax, dword [ebp - 0x178]
test eax, eax
jns 0x43a04a
mov eax, dword [ebp - 0x184]
lea edx, [eax + 1]
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x44]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 8], eax
mov dword [esp + 4], esi
mov dword [esp], 0x1e
call fcn.0043800d
test eax, eax
je 0x43a04a
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x6c], 1
jmp 0x43a04a
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
cmp al, 0x16
ja 0x43a2bc
mov dword [ebp - 0x20], 0x1a
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
movzx esi, al
cmp dword [ebp - 0x6c], 0
jne 0x43a04d
mov eax, dword [ebp - 0x178]
test eax, eax
jns 0x43a04d
mov eax, dword [ebp - 0x184]
lea edx, [eax + 1]
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x18], eax
mov eax, dword [ebp - 0x44]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], 0
mov eax, dword [ebp - 0x10c]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.0043800d
test eax, eax
je 0x43a04d
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x6c], 1
jmp 0x43a04e
nop
jmp 0x43a04e
nop
jmp 0x43a04e
nop
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
cmp al, 0x10
je 0x43a062
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
cmp al, 0xf
jne 0x43a088
mov eax, dword [ebp - 0x58]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0xb0], eax
mov eax, dword [ebp - 0x58]
add eax, 2
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0xb4], eax
jmp 0x43a09e
mov dword [ebp - 0xb4], 0xffffffff
mov eax, dword [ebp - 0xb4]
mov dword [ebp - 0xb0], eax
mov dword [ebp - 0x158], ebx
mov ebx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x178]
test eax, eax
je 0x43adb6
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x174]
test eax, eax
jne 0x43a130
mov eax, dword [ebp - 0x178]
cmp eax, 0xffffffff
jne 0x43a0e4
mov eax, dword [ebp - 0x1c]
mov edx, eax
mov eax, ebx
lea ebx, [eax + 1]
add edx, 0x1f
mov byte [eax], dl
jmp 0x43a2ae
mov eax, dword [ebp - 0x178]
cmp eax, 1
jne 0x43a103
mov eax, dword [ebp - 0x1c]
mov edx, eax
mov eax, ebx
lea ebx, [eax + 1]
add edx, 0x23
mov byte [eax], dl
jmp 0x43a2ae
mov eax, dword [ebp - 0x1c]
mov edx, eax
mov eax, ebx
lea ebx, [eax + 1]
add edx, 0x25
mov byte [eax], dl
mov eax, dword [ebp - 0x178]
sar eax, 8
mov byte [ebx], al
mov edx, dword [ebp - 0x178]
lea eax, [ebx + 1]
mov byte [eax], dl
add ebx, 2
jmp 0x43a2ae
mov eax, dword [ebp - 0x174]
cmp eax, 1
jne 0x43a1a4
mov eax, dword [ebp - 0x178]
cmp eax, 0xffffffff
jne 0x43a15a
mov eax, dword [ebp - 0x1c]
mov edx, eax
mov eax, ebx
lea ebx, [eax + 1]
add edx, 0x21
mov byte [eax], dl
jmp 0x43a2ae
mov ebx, dword [ebp - 0x158]
mov eax, dword [ebp - 0x178]
cmp eax, 1
je 0x43adb9
mov eax, dword [ebp - 0x1c]
mov edx, eax
mov eax, ebx
lea ebx, [eax + 1]
add edx, 0x25
mov byte [eax], dl
mov eax, dword [ebp - 0x178]
sub eax, 1
sar eax, 8
mov byte [ebx], al
mov eax, dword [ebp - 0x178]
mov edx, eax
lea eax, [ebx + 1]
sub edx, 1
mov byte [eax], dl
add ebx, 2
jmp 0x43a2ae
mov eax, dword [ebp - 0x20]
mov edx, eax
mov eax, ebx
lea ebx, [eax + 1]
add edx, 0x27
mov byte [eax], dl
mov eax, dword [ebp - 0x174]
sar eax, 8
mov byte [ebx], al
mov edx, dword [ebp - 0x174]
lea eax, [ebx + 1]
mov byte [eax], dl
add ebx, 2
mov eax, dword [ebp - 0x178]
test eax, eax
jns 0x43a216
mov eax, ebx
lea ebx, [eax + 1]
mov edx, esi
mov byte [eax], dl
cmp dword [ebp - 0xb0], 0
js 0x43a202
mov eax, ebx
lea ebx, [eax + 1]
mov edx, dword [ebp - 0xb0]
mov byte [eax], dl
mov eax, ebx
lea ebx, [eax + 1]
mov edx, dword [ebp - 0xb4]
mov byte [eax], dl
mov eax, dword [ebp - 0x1c]
mov edx, eax
mov eax, ebx
lea ebx, [eax + 1]
add edx, 0x1f
mov byte [eax], dl
jmp 0x43a2ae
mov edx, dword [ebp - 0x178]
mov eax, dword [ebp - 0x174]
cmp edx, eax
je 0x43a2ae
mov eax, ebx
lea ebx, [eax + 1]
mov edx, esi
mov byte [eax], dl
cmp dword [ebp - 0xb0], 0
js 0x43a256
mov eax, ebx
lea ebx, [eax + 1]
mov edx, dword [ebp - 0xb0]
mov byte [eax], dl
mov eax, ebx
lea ebx, [eax + 1]
mov edx, dword [ebp - 0xb4]
mov byte [eax], dl
mov eax, dword [ebp - 0x178]
mov edx, dword [ebp - 0x174]
sub eax, edx
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x178]
cmp eax, 1
jne 0x43a286
mov eax, dword [ebp - 0x1c]
mov edx, eax
mov eax, ebx
lea ebx, [eax + 1]
add edx, 0x23
mov byte [eax], dl
jmp 0x43a2ae
mov eax, dword [ebp - 0x1c]
mov edx, eax
mov eax, ebx
lea ebx, [eax + 1]
add edx, 0x25
mov byte [eax], dl
mov eax, dword [ebp - 0x178]
sar eax, 8
mov byte [ebx], al
mov edx, dword [ebp - 0x178]
lea eax, [ebx + 1]
mov byte [eax], dl
add ebx, 2
mov eax, ebx
lea ebx, [eax + 1]
mov edx, esi
mov byte [eax], dl
jmp 0x43aba5
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
cmp al, 0x4e
je 0x43a2de
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
cmp al, 0x4f
je 0x43a2de
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
cmp al, 0x51
jne 0x43a3c9
mov eax, dword [ebp - 0x178]
test eax, eax
jne 0x43a2f0
mov ebx, dword [ebp - 0x58]
jmp 0x43adc0
mov eax, dword [ebp - 0x174]
test eax, eax
jne 0x43a319
mov eax, dword [ebp - 0x178]
cmp eax, 0xffffffff
jne 0x43a319
mov eax, dword [ebp - 0x1c]
mov edx, eax
mov eax, ebx
lea ebx, [eax + 1]
add edx, 0x46
mov byte [eax], dl
jmp 0x43a3c4
mov eax, dword [ebp - 0x174]
cmp eax, 1
jne 0x43a343
mov eax, dword [ebp - 0x178]
cmp eax, 0xffffffff
jne 0x43a343
mov eax, dword [ebp - 0x1c]
mov edx, eax
mov eax, ebx
lea ebx, [eax + 1]
add edx, 0x48
mov byte [eax], dl
jmp 0x43a3c4
mov eax, dword [ebp - 0x174]
test eax, eax
jne 0x43a369
mov eax, dword [ebp - 0x178]
cmp eax, 1
jne 0x43a369
mov eax, dword [ebp - 0x1c]
mov edx, eax
mov eax, ebx
lea ebx, [eax + 1]
add edx, 0x4a
mov byte [eax], dl
jmp 0x43a3c4
mov eax, dword [ebp - 0x1c]
mov edx, eax
mov eax, ebx
lea ebx, [eax + 1]
add edx, 0x4c
mov byte [eax], dl
mov eax, dword [ebp - 0x174]
sar eax, 8
mov byte [ebx], al
mov edx, dword [ebp - 0x174]
lea eax, [ebx + 1]
mov byte [eax], dl
add ebx, 2
mov eax, dword [ebp - 0x178]
cmp eax, 0xffffffff
jne 0x43a3a6
mov dword [ebp - 0x178], 0
mov eax, dword [ebp - 0x178]
sar eax, 8
mov byte [ebx], al
mov edx, dword [ebp - 0x178]
lea eax, [ebx + 1]
mov byte [eax], dl
add ebx, 2
jmp 0x43aba5
jmp 0x43aba5
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
cmp al, 0x5e
je 0x43a3f5
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
cmp al, 0x5f
je 0x43a3f5
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
cmp al, 0x5d
je 0x43a3f5
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
cmp al, 0x60
jne 0x43ab88
mov dword [ebp - 0xb8], 0
mov eax, ebx
sub eax, dword [ebp - 0x58]
mov dword [ebp - 0x128], eax
mov dword [ebp - 0xbc], 0
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
cmp al, 0x60
jne 0x43a439
mov eax, dword [ebp - 0x58]
add eax, 3
movzx eax, byte [eax]
cmp al, 0x68
jne 0x43a439
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x37
jmp 0x43ccc2
mov eax, dword [ebp - 0x178]
cmp eax, 0xffffffff
jne 0x43a473
mov esi, dword [ebp - 0x58]
lea eax, [esi + 1]
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
mov edx, eax
lea eax, [esi + 2]
movzx eax, byte [eax]
movzx eax, al
or eax, edx
add esi, eax
movzx eax, byte [esi]
cmp al, 0x55
jne 0x43a447
mov eax, ebx
sub eax, esi
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0x174]
test eax, eax
jne 0x43a5e0
mov eax, dword [ebp - 0x178]
cmp eax, 1
jg 0x43a513
mov byte [ebx], 0
mov eax, dword [ebp - 0x60]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x10c]
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x58]
mov dword [esp], eax
call fcn.00437e44
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x58]
add edx, 1
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x58]
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.msvcrt.dll_memmove
add ebx, 1
mov eax, dword [ebp - 0x178]
test eax, eax
jne 0x43a4fb
mov eax, dword [ebp - 0x58]
lea edx, [eax + 1]
mov dword [ebp - 0x58], edx
mov byte [eax], 0x72
jmp 0x43adc0
mov eax, dword [ebp - 0x1c]
mov ecx, eax
mov eax, dword [ebp - 0x58]
lea edx, [eax + 1]
mov dword [ebp - 0x58], edx
lea edx, [ecx + 0x69]
mov byte [eax], dl
jmp 0x43a5cc
mov byte [ebx], 0
mov eax, dword [ebp - 0x60]
mov dword [esp + 0x10], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x10c]
mov dword [esp + 8], eax
mov dword [esp + 4], 4
mov eax, dword [ebp - 0x58]
mov dword [esp], eax
call fcn.00437e44
mov eax, dword [ebp - 0x128]
mov edx, dword [ebp - 0x58]
add edx, 4
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x58]
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.msvcrt.dll_memmove
add ebx, 4
mov eax, dword [ebp - 0x1c]
mov ecx, eax
mov eax, dword [ebp - 0x58]
lea edx, [eax + 1]
mov dword [ebp - 0x58], edx
lea edx, [ecx + 0x69]
mov byte [eax], dl
mov eax, dword [ebp - 0x58]
lea edx, [eax + 1]
mov dword [ebp - 0x58], edx
mov byte [eax], 0x5e
cmp dword [ebp - 0xbc], 0
je 0x43a596
mov eax, dword [ebp - 0x58]
sub eax, dword [ebp - 0xbc]
jmp 0x43a59b
mov eax, 0
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0x58]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0x134]
sar eax, 8
mov edx, eax
mov eax, dword [ebp - 0x58]
mov byte [eax], dl
mov eax, dword [ebp - 0x58]
add eax, 1
mov edx, dword [ebp - 0x134]
mov byte [eax], dl
add dword [ebp - 0x58], 2
mov eax, dword [ebp - 0x178]
sub eax, 1
mov dword [ebp - 0x178], eax
jmp 0x43a7a5
mov eax, dword [ebp - 0x174]
cmp eax, 1
jle 0x43a787
cmp dword [ebp + 0x28], 0
je 0x43a681
mov eax, dword [ebp - 0x174]
lea edx, [eax - 1]
mov eax, dword [ebp - 0x17c]
imul eax, edx
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0x174]
sub eax, 1
mov dword [ebp - 0x1ec], eax
fild dword [ebp - 0x1ec]
mov eax, dword [ebp - 0x17c]
mov dword [ebp - 0x1ec], eax
fild dword [ebp - 0x1ec]
fmulp st(1)
fld qword [0x57da08]
fxch st(1)
fcompi st(1)
fstp st(0)
ja 0x43a65c
mov eax, dword [ebp + 0x28]
mov edx, dword [eax]
mov eax, 0x7fffffeb
sub eax, edx
cmp dword [ebp - 0x130], eax
jle 0x43a66a
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x43ccc2
mov eax, dword [ebp + 0x28]
mov edx, dword [eax]
mov eax, dword [ebp - 0x130]
add edx, eax
mov eax, dword [ebp + 0x28]
mov dword [eax], edx
jmp 0x43a787
cmp dword [ebp - 0x54], 0
je 0x43a693
cmp dword [ebp - 0x34], 0
jns 0x43a693
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x34], eax
mov esi, 1
jmp 0x43a779
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0x128]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x58]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xc0], eax
jmp 0x43a753
mov eax, dword [ebp - 0xc0]
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
mov edx, eax
mov eax, dword [ebp - 0xc0]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
or edx, eax
mov eax, dword [ebp - 0x128]
add eax, edx
sar eax, 8
mov edx, eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x24]
mov byte [eax], dl
mov eax, dword [ebp - 0xc0]
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
mov edx, eax
mov eax, dword [ebp - 0xc0]
add eax, 1
movzx eax, byte [eax]
or eax, edx
mov ecx, eax
mov eax, dword [ebp - 0x128]
mov edx, eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x24]
add eax, 1
add edx, ecx
mov byte [eax], dl
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x24]
lea edx, [eax + 2]
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x24], edx
add dword [ebp - 0xc0], 2
mov eax, dword [ebp - 0xc0]
cmp eax, dword [ebp - 0x12c]
jb 0x43a6d0
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x128]
add ebx, eax
add esi, 1
mov eax, dword [ebp - 0x174]
cmp esi, eax
jl 0x43a69d
mov eax, dword [ebp - 0x178]
test eax, eax
jle 0x43a7a5
mov eax, dword [ebp - 0x178]
mov edx, dword [ebp - 0x174]
sub eax, edx
mov dword [ebp - 0x178], eax
mov eax, dword [ebp - 0x178]
test eax, eax
js 0x43aa95
cmp dword [ebp + 0x28], 0
je 0x43a856
mov eax, dword [ebp - 0x178]
test eax, eax
jle 0x43a856
mov eax, dword [ebp - 0x17c]
lea edx, [eax + 7]
mov eax, dword [ebp - 0x178]
imul eax, edx
sub eax, 6
mov dword [ebp - 0x140], eax
mov eax, dword [ebp - 0x178]
mov dword [ebp - 0x1ec], eax
fild dword [ebp - 0x1ec]
mov eax, dword [ebp - 0x17c]
add eax, 7
mov dword [ebp - 0x1ec], eax
fild dword [ebp - 0x1ec]
fmulp st(1)
fld qword [0x57da08]
fxch st(1)
fcompi st(1)
fstp st(0)
ja 0x43a831
mov eax, dword [ebp + 0x28]
mov edx, dword [eax]
mov eax, 0x7fffffeb
sub eax, edx
cmp dword [ebp - 0x140], eax
jle 0x43a83f
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x43ccc2
mov eax, dword [ebp + 0x28]
mov edx, dword [eax]
mov eax, dword [ebp - 0x140]
add edx, eax
mov eax, dword [ebp + 0x28]
mov dword [eax], edx
jmp 0x43a9c2
mov eax, dword [ebp - 0x178]
lea esi, [eax - 1]
jmp 0x43a9ba
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x1c]
mov edx, eax
mov eax, ebx
lea ebx, [eax + 1]
add edx, 0x69
mov byte [eax], dl
test esi, esi
je 0x43a8c8
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], 0x5e
cmp dword [ebp - 0xbc], 0
je 0x43a89e
mov eax, ebx
sub eax, dword [ebp - 0xbc]
jmp 0x43a8a3
mov eax, 0
mov dword [ebp - 0x148], eax
mov dword [ebp - 0xbc], ebx
mov eax, dword [ebp - 0x148]
sar eax, 8
mov byte [ebx], al
lea eax, [ebx + 1]
mov edx, dword [ebp - 0x148]
mov byte [eax], dl
add ebx, 2
mov eax, dword [ebp - 0x128]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x58]
mov dword [esp + 4], eax
mov dword [esp], ebx
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x60]
mov dword [ebp - 0xc4], eax
jmp 0x43a994
mov eax, dword [ebp - 0xc4]
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
mov edx, eax
mov eax, dword [ebp - 0xc4]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
or edx, eax
mov eax, dword [ebp - 0x128]
add eax, edx
test esi, esi
je 0x43a924
mov edx, 4
jmp 0x43a929
mov edx, 1
add eax, edx
sar eax, 8
mov edx, eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x24]
mov byte [eax], dl
mov eax, dword [ebp - 0xc4]
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
mov edx, eax
mov eax, dword [ebp - 0xc4]
add eax, 1
movzx eax, byte [eax]
or eax, edx
mov edx, eax
mov eax, dword [ebp - 0x128]
add edx, eax
test esi, esi
je 0x43a96c
mov ecx, 4
jmp 0x43a971
mov ecx, 1
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x24]
add eax, 1
add edx, ecx
mov byte [eax], dl
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x24]
lea edx, [eax + 2]
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x24], edx
add dword [ebp - 0xc4], 2
mov eax, dword [ebp - 0xc4]
cmp eax, dword [ebp - 0x144]
jb 0x43a8ef
mov eax, dword [ebp - 0x144]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x128]
add ebx, eax
sub esi, 1
test esi, esi
jns 0x43a864
jmp 0x43aa83
mov eax, ebx
sub eax, dword [ebp - 0xbc]
add eax, 1
mov dword [ebp - 0x14c], eax
mov eax, dword [ebp - 0x14c]
neg eax
add eax, ebx
mov dword [ebp - 0x150], eax
mov eax, dword [ebp - 0x150]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
mov edx, eax
mov eax, dword [ebp - 0x150]
add eax, 2
movzx eax, byte [eax]
movzx eax, al
or eax, edx
mov dword [ebp - 0x154], eax
cmp dword [ebp - 0x154], 0
je 0x43aa30
mov eax, dword [ebp - 0x154]
neg eax
mov edx, eax
mov eax, dword [ebp - 0xbc]
add eax, edx
jmp 0x43aa35
mov eax, 0
mov dword [ebp - 0xbc], eax
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], 0x55
mov eax, dword [ebp - 0x14c]
sar eax, 8
mov byte [ebx], al
lea eax, [ebx + 1]
mov edx, dword [ebp - 0x14c]
mov byte [eax], dl
add ebx, 2
mov eax, dword [ebp - 0x14c]
sar eax, 8
mov edx, eax
mov eax, dword [ebp - 0x150]
add eax, 1
mov byte [eax], dl
mov eax, dword [ebp - 0x150]
add eax, 2
mov edx, dword [ebp - 0x14c]
mov byte [eax], dl
cmp dword [ebp - 0xbc], 0
jne 0x43a9c7
jmp 0x43aba4
mov eax, dword [ebp - 0xb8]
neg eax
add eax, ebx
mov dword [ebp - 0x138], eax
mov eax, dword [ebp - 0x138]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
mov edx, eax
mov eax, dword [ebp - 0x138]
add eax, 2
movzx eax, byte [eax]
movzx eax, al
or eax, edx
neg eax
mov edx, eax
mov eax, dword [ebp - 0x138]
add eax, edx
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x1c]
lea edx, [eax + 0x56]
mov eax, dword [ebp - 0x138]
mov byte [eax], dl
cmp dword [ebp + 0x28], 0
jne 0x43aba4
mov eax, dword [ebp - 0x13c]
movzx eax, byte [eax]
cmp al, 0x5d
je 0x43aba4
mov eax, dword [ebp - 0x13c]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0x10c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x138]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc8]
mov dword [esp], eax
call fcn.004379e5
test eax, eax
je 0x43ab4e
mov eax, dword [ebp - 0x13c]
movzx eax, byte [eax]
lea edx, [eax + 3]
mov eax, dword [ebp - 0x13c]
mov byte [eax], dl
nop
jmp 0x43aba4
mov eax, dword [ebp - 0xc8]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
mov edx, eax
mov eax, dword [ebp - 0xc8]
add eax, 2
movzx eax, byte [eax]
movzx eax, al
or eax, edx
add dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xc8]
movzx eax, byte [eax]
cmp al, 0x54
je 0x43ab11
jmp 0x43aba4
mov eax, dword [ebp - 0x58]
movzx eax, byte [eax]
cmp al, 0x6f
je 0x43adbc
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xb
jmp 0x43ccc2
nop
cmp dword [ebp - 0x6c], 0
je 0x43adbf
mov eax, dword [ebp - 0x180]
movzx eax, byte [eax]
cmp al, 0x41
jne 0x43ac10
mov edx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x180]
movzx eax, byte [eax]
movzx eax, al
movzx eax, byte [eax + 0x57dcc0]
movzx ecx, al
mov eax, dword [ebp - 0x180]
add eax, 3
movzx eax, byte [eax]
cmp al, 0x10
je 0x43abf8
mov eax, dword [ebp - 0x180]
add eax, 3
movzx eax, byte [eax]
cmp al, 0xf
jne 0x43abff
mov eax, 2
jmp 0x43ac04
mov eax, 0
add eax, ecx
add eax, edx
mov dword [ebp - 0x180], eax
jmp 0x43ac4e
mov eax, dword [ebp - 0x180]
movzx eax, byte [eax]
cmp al, 0x27
je 0x43ac2a
mov eax, dword [ebp - 0x180]
movzx eax, byte [eax]
cmp al, 0x34
jne 0x43ac4e
mov edx, dword [ebp - 0x180]
mov eax, dword [ebp - 0x180]
movzx eax, byte [eax]
movzx eax, al
movzx eax, byte [eax + 0x57dcc0]
movzx eax, al
add eax, edx
mov dword [ebp - 0x180], eax
mov edx, dword [ebp - 0x180]
mov eax, ebx
sub eax, edx
mov dword [ebp - 0x15c], eax
cmp dword [ebp - 0x15c], 0
jle 0x43adbf
mov eax, dword [ebp - 0x180]
movzx eax, byte [eax]
movzx eax, al
sub eax, 0x1f
cmp eax, 0x20
ja case.0x43ac8a.32
mov eax, dword [eax*4 + 0x57d604]
jmp eax
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x28
jmp 0x43adc0
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x29
jmp 0x43adc0
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x2a
jmp 0x43adc0
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x2b
jmp 0x43adc0
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x42
jmp 0x43adc0
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x43
jmp 0x43adc0
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x44
jmp 0x43adc0
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x45
jmp 0x43adc0
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x35
jmp 0x43adc0
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x36
jmp 0x43adc0
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x37
jmp 0x43adc0
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x38
jmp 0x43adc0
mov edx, dword [ebp - 0x15c]
mov eax, dword [ebp - 0x180]
mov ecx, dword [ebp - 0x180]
add ecx, 3
mov dword [esp + 8], edx
mov dword [esp + 4], eax
mov dword [esp], ecx
call sub.msvcrt.dll_memmove
add ebx, 3
add dword [ebp - 0x15c], 3
mov eax, dword [ebp - 0x180]
mov byte [eax], 0x5d
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], 0x55
mov eax, dword [ebp - 0x15c]
sar eax, 8
mov byte [ebx], al
lea eax, [ebx + 1]
mov edx, dword [ebp - 0x15c]
mov byte [eax], dl
add ebx, 2
mov eax, dword [ebp - 0x15c]
sar eax, 8
mov edx, eax
mov eax, dword [ebp - 0x180]
add eax, 1
mov byte [eax], dl
mov eax, dword [ebp - 0x180]
add eax, 2
mov edx, dword [ebp - 0x15c]
mov byte [eax], dl
jmp 0x43adc0
nop
jmp 0x43adc0
nop
jmp 0x43adc0
nop
jmp 0x43adc0
nop
mov dword [ebp - 0x58], 0
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x4c]
or eax, dword [ebp - 0x124]
mov edx, eax
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x4c], edx
jmp 0x43cca4
mov eax, dword [ebp - 0x44]
mov dword [ebp - 0x80], eax
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x24], 0x5f
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x2a
jne 0x43b014
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
add eax, edx
movzx eax, byte [eax]
movzx eax, al
and eax, 2
test eax, eax
je 0x43b014
mov dword [ebp - 0xd0], str.ACCEPT
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x160], eax
mov dword [ebp - 0x58], 0
nop
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
add eax, edx
movzx eax, byte [eax]
movzx eax, al
and eax, 2
test eax, eax
jne 0x43ae7c
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x3a
jne 0x43aec7
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3b
jmp 0x43ccc2
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x29
je 0x43aee2
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3c
jmp 0x43ccc2
mov eax, dword [ebp - 0x184]
sub eax, dword [ebp - 0x160]
mov dword [ebp - 0x164], eax
mov dword [ebp - 0xcc], 0
jmp 0x43afe4
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax*8 + 0x57c340]
cmp dword [ebp - 0x164], eax
jne 0x43afc7
mov eax, dword [ebp - 0x164]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xd0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x160]
mov dword [esp], eax
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x43afc7
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax*8 + 0x57c344]
cmp eax, 0x70
jne 0x43afb1
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x50], 1
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0xd4], eax
jmp 0x43afa8
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], 0x71
mov eax, dword [ebp - 0xd4]
movzx eax, word [eax + 4]
shr ax, 8
mov byte [ebx], al
mov eax, dword [ebp - 0xd4]
movzx edx, word [eax + 4]
lea eax, [ebx + 1]
mov byte [eax], dl
add ebx, 2
mov eax, dword [ebp - 0xd4]
mov eax, dword [eax]
mov dword [ebp - 0xd4], eax
cmp dword [ebp - 0xd4], 0
jne 0x43af70
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax*8 + 0x57c344]
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], dl
jmp 0x43aff5
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax*8 + 0x57c340]
add eax, 1
add dword [ebp - 0xd0], eax
add dword [ebp - 0xcc], 1
mov eax, 7
cmp dword [ebp - 0xcc], eax
jl 0x43af03
mov eax, 7
cmp dword [ebp - 0xcc], eax
jl 0x43cc8e
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3c
jmp 0x43ccc2
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x3f
jne 0x43c445
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
sub eax, 0x21
cmp eax, 0x5b
ja case.0x43b053.34
mov eax, dword [eax*4 + 0x57d688]
jmp eax
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x43b075
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
test al, al
je 0x43b08f
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x29
jne 0x43b066
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
test al, al
jne 0x43cc91
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x12
jmp 0x43ccc2
mov dword [ebp - 0x74], 1
mov dword [ebp - 0x24], 0x5e
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x43c495
mov dword [ebp - 0x24], 0x60
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x3f
jne 0x43b123
mov eax, dword [ebp - 0x184]
add eax, 2
movzx eax, byte [eax]
cmp al, 0x3d
je 0x43c491
mov eax, dword [ebp - 0x184]
add eax, 2
movzx eax, byte [eax]
cmp al, 0x21
je 0x43c491
mov eax, dword [ebp - 0x184]
add eax, 2
movzx eax, byte [eax]
cmp al, 0x3c
je 0x43c491
lea eax, [ebx + 3]
mov byte [eax], 0x64
mov dword [ebp - 0x8c], 3
mov dword [ebp - 0x88], 0xffffffff
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x52
jne 0x43b181
mov eax, dword [ebp - 0x184]
add eax, 2
movzx eax, byte [eax]
cmp al, 0x26
jne 0x43b181
mov dword [ebp - 0x90], 0xffffffff
mov eax, dword [ebp - 0x184]
add eax, 2
mov dword [ebp - 0x184], eax
lea eax, [ebx + 3]
mov byte [eax], 0x66
jmp 0x43b222
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x3c
jne 0x43b1ac
mov dword [ebp - 0x90], 0x3e
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x43b222
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x27
jne 0x43b1d7
mov dword [ebp - 0x90], 0x27
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x43b222
mov dword [ebp - 0x90], 0
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x2d
je 0x43b201
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x2b
jne 0x43b222
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0x88], eax
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
add eax, edx
movzx eax, byte [eax]
movzx eax, al
and eax, 0x10
test eax, eax
jne 0x43b263
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1c
jmp 0x43c440
mov dword [ebp - 0x84], 0
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x168], eax
jmp 0x43b2ee
cmp dword [ebp - 0x84], 0
js 0x43b2df
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
movzx eax, byte [eax + 0x57ce40]
movzx eax, al
and eax, 4
test eax, eax
je 0x43b2d4
mov edx, dword [ebp - 0x84]
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
mov edx, eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
add eax, edx
sub eax, 0x30
jmp 0x43b2d9
mov eax, 0xffffffff
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
add eax, edx
movzx eax, byte [eax]
movzx eax, al
and eax, 0x10
test eax, eax
jne 0x43b28a
mov eax, dword [ebp - 0x184]
sub eax, dword [ebp - 0x168]
mov dword [ebp - 0x16c], eax
cmp dword [ebp - 0x90], 0
jle 0x43b34b
mov eax, dword [ebp - 0x184]
lea edx, [eax + 1]
mov dword [ebp - 0x184], edx
movzx eax, byte [eax]
movzx eax, al
cmp dword [ebp - 0x90], eax
jne 0x43b361
mov eax, dword [ebp - 0x184]
lea edx, [eax + 1]
mov dword [ebp - 0x184], edx
movzx eax, byte [eax]
cmp al, 0x29
je 0x43b37e
mov eax, dword [ebp - 0x184]
sub eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1a
jmp 0x43c440
cmp dword [ebp + 0x28], 0
jne 0x43c494
cmp dword [ebp - 0x88], 0
jle 0x43b41f
cmp dword [ebp - 0x84], 0
jg 0x43b3ac
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3a
jmp 0x43c440
cmp dword [ebp - 0x88], 0x2d
jne 0x43b3c6
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x34]
sub eax, dword [ebp - 0x84]
add eax, 1
jmp 0x43b3d4
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0x34]
mov eax, dword [ebp - 0x84]
add eax, edx
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
jle 0x43b3f1
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x38]
cmp dword [ebp - 0x84], eax
jle 0x43b3ff
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x43c440
mov eax, dword [ebp - 0x84]
sar eax, 8
mov edx, eax
lea eax, [ebx + 4]
mov byte [eax], dl
lea eax, [ebx + 5]
mov edx, dword [ebp - 0x84]
mov byte [eax], dl
jmp 0x43c495
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xd8], 0
jmp 0x43b473
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0xe0]
add edx, 2
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x168]
mov dword [esp], eax
call sub.msvcrt.dll_strncmp
test eax, eax
je 0x43b483
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x30]
add dword [ebp - 0xe0], eax
add dword [ebp - 0xd8], 1
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x2c]
cmp dword [ebp - 0xd8], eax
jl 0x43b437
jmp 0x43b484
nop
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x2c]
cmp dword [ebp - 0xd8], eax
jge 0x43b4e5
mov eax, dword [ebp - 0xe0]
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
mov edx, eax
mov eax, dword [ebp - 0xe0]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
or eax, edx
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x84]
sar eax, 8
mov edx, eax
lea eax, [ebx + 4]
mov byte [eax], dl
lea eax, [ebx + 5]
mov edx, dword [ebp - 0x84]
mov byte [eax], dl
lea eax, [ebx + 3]
movzx edx, byte [eax]
add edx, 1
mov byte [eax], dl
jmp 0x43c495
mov eax, dword [ebp - 0x44]
and eax, 8
test eax, eax
setne al
movzx eax, al
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x16c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x168]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x24]
mov dword [esp], eax
call fcn.00437369
mov dword [ebp - 0xd8], eax
cmp dword [ebp - 0xd8], 0
jle 0x43b550
mov eax, dword [ebp - 0xd8]
sar eax, 8
mov edx, eax
lea eax, [ebx + 4]
mov byte [eax], dl
lea eax, [ebx + 5]
mov edx, dword [ebp - 0xd8]
mov byte [eax], dl
lea eax, [ebx + 3]
movzx edx, byte [eax]
add edx, 1
mov byte [eax], dl
jmp 0x43c495
cmp dword [ebp - 0x90], 0
je 0x43b567
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x43c440
mov eax, dword [ebp - 0x168]
movzx eax, byte [eax]
cmp al, 0x52
jne 0x43b63f
mov dword [ebp - 0x84], 0
mov dword [ebp - 0xd8], 1
jmp 0x43b5f8
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x168]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
movzx eax, byte [eax + 0x57ce40]
movzx eax, al
and eax, 4
test eax, eax
jne 0x43b5c1
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x43c440
mov edx, dword [ebp - 0x84]
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
mov ecx, eax
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0x168]
add eax, edx
movzx eax, byte [eax]
movzx eax, al
add eax, ecx
sub eax, 0x30
mov dword [ebp - 0x84], eax
add dword [ebp - 0xd8], 1
mov eax, dword [ebp - 0xd8]
cmp eax, dword [ebp - 0x16c]
jl 0x43b58e
cmp dword [ebp - 0x84], 0
jne 0x43b619
mov dword [ebp - 0x84], 0xffff
lea eax, [ebx + 3]
mov byte [eax], 0x66
mov eax, dword [ebp - 0x84]
sar eax, 8
mov edx, eax
lea eax, [ebx + 4]
mov byte [eax], dl
lea eax, [ebx + 5]
mov edx, dword [ebp - 0x84]
mov byte [eax], dl
jmp 0x43c495
cmp dword [ebp - 0x16c], 6
jne 0x43b67c
mov dword [esp + 8], 6
mov dword [esp + 4], str.DEFINE
mov eax, dword [ebp - 0x168]
mov dword [esp], eax
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x43b67c
lea eax, [ebx + 3]
mov byte [eax], 0x68
mov dword [ebp - 0x8c], 1
jmp 0x43b6cf
cmp dword [ebp - 0x84], 0
jle 0x43b6b0
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x38]
cmp dword [ebp - 0x84], eax
jg 0x43b6b0
mov eax, dword [ebp - 0x84]
sar eax, 8
mov edx, eax
lea eax, [ebx + 4]
mov byte [eax], dl
lea eax, [ebx + 5]
mov edx, dword [ebp - 0x84]
mov byte [eax], dl
jmp 0x43b6cf
cmp dword [ebp - 0x84], 0
jne 0x43b6c0
mov edx, 0x23
jmp 0x43b6c5
mov edx, 0xf
mov eax, dword [ebp + 0x14]
mov dword [eax], edx
jmp 0x43c440
jmp 0x43c495
mov dword [ebp - 0x24], 0x58
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x43c495
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x29
jne 0x43b71f
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], 0x6f
mov dword [ebp - 0x58], 0
jmp 0x43cca4
mov dword [ebp - 0x24], 0x59
jmp 0x43c495
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
cmp eax, 0x21
je 0x43b75c
cmp eax, 0x3d
jne 0x43b774
mov dword [ebp - 0x24], 0x5a
mov eax, dword [ebp - 0x184]
add eax, 2
mov dword [ebp - 0x184], eax
jmp 0x43b7b9
mov dword [ebp - 0x24], 0x5b
mov eax, dword [ebp - 0x184]
add eax, 2
mov dword [ebp - 0x184], eax
jmp 0x43b7b9
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
add eax, edx
movzx eax, byte [eax]
movzx eax, al
and eax, 0x10
test eax, eax
jne 0x43b93d
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x18
jmp 0x43c440
jmp 0x43c495
mov dword [ebp - 0x24], 0x5d
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x43c495
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x48], 1
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], 0x53
mov dword [ebp - 0xe4], 0
jmp 0x43b81f
mov edx, dword [ebp - 0xe4]
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
mov edx, eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
add eax, edx
sub eax, 0x30
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
movzx eax, byte [eax + 0x57ce40]
movzx eax, al
and eax, 4
test eax, eax
jne 0x43b7f7
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x29
je 0x43b866
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x27
jmp 0x43c440
cmp dword [ebp - 0xe4], 0xff
jle 0x43b880
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x26
jmp 0x43c440
mov eax, ebx
lea ebx, [eax + 1]
mov edx, dword [ebp - 0xe4]
mov byte [eax], dl
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x18]
mov eax, edx
sub eax, ecx
add eax, 1
sar eax, 8
mov byte [ebx], al
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x18]
sub edx, eax
lea eax, [ebx + 1]
add edx, 1
mov byte [eax], dl
lea eax, [ebx + 2]
mov byte [eax], 0
lea eax, [ebx + 3]
mov byte [eax], 0
add ebx, 4
mov dword [ebp - 0x58], 0
jmp 0x43cca4
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x3d
je 0x43b8ff
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x3e
jne 0x43b922
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x3e
sete al
movzx eax, al
mov dword [ebp - 0x70], eax
mov dword [ebp - 0x90], 0x29
jmp 0x43bcb7
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x3c
je 0x43b940
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x29
jmp 0x43c440
nop
jmp case.0x43b053.39
nop
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x3c
jne 0x43b955
mov eax, 0x3e
jmp 0x43b95a
mov eax, 0x27
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x168], eax
jmp 0x43b98c
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
add eax, edx
movzx eax, byte [eax]
movzx eax, al
and eax, 0x10
test eax, eax
jne 0x43b97d
mov eax, dword [ebp - 0x184]
sub eax, dword [ebp - 0x168]
mov dword [ebp - 0x16c], eax
cmp dword [ebp + 0x28], 0
je 0x43ba43
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
cmp dword [ebp - 0x90], eax
je 0x43b9e7
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x2a
jmp 0x43c440
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x2c]
cmp eax, 0x270f
jle 0x43ba02
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x31
jmp 0x43c440
mov eax, dword [ebp - 0x16c]
lea edx, [eax + 2]
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x30]
cmp edx, eax
jl 0x43bc83
mov eax, dword [ebp - 0x16c]
lea edx, [eax + 3]
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x30], edx
cmp dword [ebp - 0x16c], 0x20
jle 0x43bc83
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x30
jmp 0x43c440
mov dword [ebp - 0xe8], 0
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xd8], 0
jmp 0x43bb72
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0xe0]
add edx, 2
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x168]
mov dword [esp], eax
call sub.msvcrt.dll_memcmp
mov dword [ebp - 0xec], eax
cmp dword [ebp - 0xec], 0
jne 0x43bb15
mov eax, dword [ebp - 0x16c]
add eax, 2
mov edx, eax
mov eax, dword [ebp - 0xe0]
add eax, edx
movzx eax, byte [eax]
test al, al
jne 0x43bb0b
mov eax, dword [ebp - 0xe0]
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
mov edx, eax
mov eax, dword [ebp - 0xe0]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
or edx, eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x34]
add eax, 1
cmp edx, eax
je 0x43baff
mov eax, dword [ebp - 0x44]
and eax, 0x80000
test eax, eax
jne 0x43baff
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x2b
jmp 0x43c440
mov dword [ebp - 0xe8], 1
jmp 0x43bb15
mov dword [ebp - 0xec], 0xffffffff
cmp dword [ebp - 0xec], 0
jns 0x43bb5f
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x2c]
sub eax, dword [ebp - 0xd8]
mov edx, eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x30]
imul eax, edx
mov ecx, eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x30]
mov edx, eax
mov eax, dword [ebp - 0xe0]
add edx, eax
mov dword [esp + 8], ecx
mov eax, dword [ebp - 0xe0]
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.msvcrt.dll_memmove
jmp 0x43bb84
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x30]
add dword [ebp - 0xe0], eax
add dword [ebp - 0xd8], 1
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x2c]
cmp dword [ebp - 0xd8], eax
jl 0x43ba68
cmp dword [ebp - 0xe8], 0
jne 0x43bc1c
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xf0], eax
mov dword [ebp - 0xd8], 0
jmp 0x43bc0e
mov eax, dword [ebp - 0xf0]
cmp eax, dword [ebp - 0xe0]
je 0x43bbf4
mov eax, dword [ebp - 0xf0]
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
mov edx, eax
mov eax, dword [ebp - 0xf0]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
or edx, eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x34]
add eax, 1
cmp edx, eax
jne 0x43bbfb
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x41
jmp 0x43c440
sub dword [ebp - 0xd8], 1
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x30]
add dword [ebp - 0xf0], eax
add dword [ebp - 0xd8], 1
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x2c]
cmp dword [ebp - 0xd8], eax
jl 0x43bba9
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x34]
add eax, 1
sar eax, 8
mov edx, eax
mov eax, dword [ebp - 0xe0]
mov byte [eax], dl
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x34]
mov edx, eax
mov eax, dword [ebp - 0xe0]
add eax, 1
add edx, 1
mov byte [eax], dl
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0xe0]
add edx, 2
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x168]
mov dword [esp + 4], eax
mov dword [esp], edx
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp - 0x16c]
add eax, 2
mov edx, eax
mov eax, dword [ebp - 0xe0]
add eax, edx
mov byte [eax], 0
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x2c]
lea edx, [eax + 1]
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x2c], edx
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x43c45b
mov dword [ebp - 0x90], 0x29
mov dword [ebp - 0x70], 1
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x168], eax
jmp 0x43bce3
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
add eax, edx
movzx eax, byte [eax]
movzx eax, al
and eax, 0x10
test eax, eax
jne 0x43bcd4
mov eax, dword [ebp - 0x184]
sub eax, dword [ebp - 0x168]
mov dword [ebp - 0x16c], eax
cmp dword [ebp + 0x28], 0
je 0x43bd7b
cmp dword [ebp - 0x16c], 0
jne 0x43bd33
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3e
jmp 0x43c440
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
cmp dword [ebp - 0x90], eax
je 0x43bd55
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x2a
jmp 0x43c440
cmp dword [ebp - 0x16c], 0x20
jle 0x43bd6c
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x30
jmp 0x43c440
mov dword [ebp - 0x84], 0
jmp 0x43be80
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xe0], eax
mov dword [ebp - 0xd8], 0
jmp 0x43bde9
mov eax, dword [ebp - 0x16c]
mov edx, dword [ebp - 0xe0]
add edx, 2
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x168]
mov dword [esp], eax
call sub.msvcrt.dll_strncmp
test eax, eax
jne 0x43bdd6
mov eax, dword [ebp - 0x16c]
add eax, 2
mov edx, eax
mov eax, dword [ebp - 0xe0]
add eax, edx
movzx eax, byte [eax]
test al, al
je 0x43bdf9
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x30]
add dword [ebp - 0xe0], eax
add dword [ebp - 0xd8], 1
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x2c]
cmp dword [ebp - 0xd8], eax
jl 0x43bd93
jmp 0x43bdfa
nop
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x2c]
cmp dword [ebp - 0xd8], eax
jge 0x43be32
mov eax, dword [ebp - 0xe0]
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
mov edx, eax
mov eax, dword [ebp - 0xe0]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
or eax, edx
mov dword [ebp - 0x84], eax
jmp 0x43be80
mov eax, dword [ebp - 0x44]
and eax, 8
test eax, eax
setne al
movzx eax, al
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x16c]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x168]
mov dword [esp + 4], eax
mov eax, dword [ebp + 0x24]
mov dword [esp], eax
call fcn.00437369
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
jg 0x43be80
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x43c440
cmp dword [ebp - 0x70], 0
je 0x43ca94
jmp 0x43c030
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x90], 0x29
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
mov dword [ebp - 0x88], eax
cmp dword [ebp - 0x88], 0x2b
jne 0x43befd
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
movzx eax, byte [eax + 0x57ce40]
movzx eax, al
and eax, 4
test eax, eax
jne 0x43bf39
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3f
jmp 0x43c440
cmp dword [ebp - 0x88], 0x2d
jne 0x43bf39
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
movzx eax, byte [eax + 0x57ce40]
movzx eax, al
and eax, 4
test eax, eax
je 0x43c1f7
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov dword [ebp - 0x84], 0
jmp 0x43bf76
mov edx, dword [ebp - 0x84]
mov eax, edx
shl eax, 2
add eax, edx
add eax, eax
mov ecx, eax
mov eax, dword [ebp - 0x184]
lea edx, [eax + 1]
mov dword [ebp - 0x184], edx
movzx eax, byte [eax]
movzx eax, al
add eax, ecx
sub eax, 0x30
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
movzx eax, byte [eax + 0x57ce40]
movzx eax, al
and eax, 4
test eax, eax
jne 0x43bf45
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
movzx eax, al
cmp dword [ebp - 0x90], eax
je 0x43bfb5
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1d
jmp 0x43c440
cmp dword [ebp - 0x88], 0x2d
jne 0x43c001
cmp dword [ebp - 0x84], 0
jne 0x43bfd5
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3a
jmp 0x43c440
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x34]
sub eax, dword [ebp - 0x84]
add eax, 1
mov dword [ebp - 0x84], eax
cmp dword [ebp - 0x84], 0
jg 0x43c030
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x43c440
cmp dword [ebp - 0x88], 0x2b
jne 0x43c02f
cmp dword [ebp - 0x84], 0
jne 0x43c021
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x3a
jmp 0x43c440
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x34]
add dword [ebp - 0x84], eax
jmp 0x43c030
nop
mov dword [ebp - 0x58], ebx
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xf4], eax
cmp dword [ebp + 0x28], 0
jne 0x43c17e
mov byte [ebx], 0
cmp dword [ebp - 0x84], 0
je 0x43c07d
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x14]
mov edx, dword [ebp - 0x84]
mov dword [esp + 8], edx
mov edx, dword [ebp - 0x10c]
mov dword [esp + 4], edx
mov dword [esp], eax
call fcn.004377d4
mov dword [ebp - 0xf4], eax
cmp dword [ebp - 0xf4], 0
jne 0x43c120
mov eax, dword [ebp - 0x44]
and eax, 8
test eax, eax
setne al
movzx eax, al
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x84]
mov dword [esp + 8], eax
mov dword [esp + 4], 0
mov eax, dword [ebp + 0x24]
mov dword [esp], eax
call fcn.00437369
test eax, eax
jns 0x43c0cb
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xf
jmp 0x43c440
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0x84]
add eax, edx
mov dword [ebp - 0xf4], eax
lea edx, [ebx + 4]
mov eax, dword [ebp + 0x24]
mov ecx, dword [eax + 0x14]
mov eax, edx
sub eax, ecx
sar eax, 8
mov edx, eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x24]
mov byte [eax], dl
lea edx, [ebx + 4]
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x14]
sub edx, eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x24]
add eax, 1
mov byte [eax], dl
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x24]
lea edx, [eax + 2]
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x24], edx
jmp 0x43c17e
mov eax, dword [ebp - 0xf4]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
mov edx, eax
mov eax, dword [ebp - 0xf4]
add eax, 2
movzx eax, byte [eax]
movzx eax, al
or eax, edx
test eax, eax
jne 0x43c17e
mov eax, dword [ebp - 0x10c]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 8], eax
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0xf4]
mov dword [esp], eax
call fcn.00437cff
test eax, eax
je 0x43c17e
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x28
jmp 0x43c440
mov byte [ebx], 0x5d
lea eax, [ebx + 1]
mov byte [eax], 0
lea eax, [ebx + 2]
mov byte [eax], 6
add ebx, 3
mov byte [ebx], 0x52
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0xf4]
sub eax, edx
sar eax, 8
mov edx, eax
lea eax, [ebx + 1]
mov byte [eax], dl
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0x14]
mov eax, dword [ebp - 0xf4]
sub eax, edx
mov ecx, eax
lea eax, [ebx + 2]
mov edx, ecx
mov byte [eax], dl
add ebx, 3
mov byte [ebx], 0x55
lea eax, [ebx + 1]
mov byte [eax], 0
lea eax, [ebx + 2]
mov byte [eax], 6
add ebx, 3
mov dword [ebp - 0x17c], 9
cmp dword [ebp - 0x30], 0xfffffffe
jne 0x43cc94
mov dword [ebp - 0x30], 0xffffffff
jmp 0x43cc94
nop
mov dword [ebp - 0x1c0], 0
mov eax, dword [ebp - 0x1c0]
mov dword [ebp - 0x1bc], eax
lea eax, [ebp - 0x1bc]
mov dword [ebp - 0xdc], eax
jmp 0x43c351
mov eax, dword [ebp - 0x184]
lea edx, [eax + 1]
mov dword [ebp - 0x184], edx
movzx eax, byte [eax]
movzx eax, al
cmp eax, 0x2d
je 0x43c269
cmp eax, 0x2d
jl case.0x43c267.75
cmp eax, 0x78
jg case.0x43c267.75
cmp eax, 0x4a
jl case.0x43c267.75
sub eax, 0x4a
cmp eax, 0x2e
ja case.0x43c267.75
mov eax, dword [eax*4 + 0x57d7f8]
jmp eax
lea eax, [ebp - 0x1c0]
mov dword [ebp - 0xdc], eax
jmp 0x43c351
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
or eax, 0x80000
mov edx, eax
mov eax, dword [ebp - 0xdc]
mov dword [eax], edx
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x48]
or eax, 0x10
mov edx, eax
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x48], edx
jmp 0x43c351
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
or eax, 1
mov edx, eax
mov eax, dword [ebp - 0xdc]
mov dword [eax], edx
jmp 0x43c351
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
or eax, 2
mov edx, eax
mov eax, dword [ebp - 0xdc]
mov dword [eax], edx
jmp 0x43c351
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
or eax, 4
mov edx, eax
mov eax, dword [ebp - 0xdc]
mov dword [eax], edx
jmp 0x43c351
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
or eax, 8
mov edx, eax
mov eax, dword [ebp - 0xdc]
mov dword [eax], edx
jmp 0x43c351
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
or ah, 2
mov edx, eax
mov eax, dword [ebp - 0xdc]
mov dword [eax], edx
jmp 0x43c351
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
or eax, 0x40
mov edx, eax
mov eax, dword [ebp - 0xdc]
mov dword [eax], edx
jmp 0x43c351
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xc
mov eax, dword [ebp - 0x184]
sub eax, 1
mov dword [ebp - 0x184], eax
jmp 0x43c440
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x29
je 0x43c36f
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x3a
jne 0x43c21f
mov eax, dword [ebp - 0x1bc]
or eax, dword [ebp - 0x44]
mov edx, eax
mov eax, dword [ebp - 0x1c0]
not eax
and eax, edx
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x29
jne 0x43c428
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x14]
add eax, 3
cmp ebx, eax
jne 0x43c3c0
cmp dword [ebp + 0x28], 0
je 0x43c3b5
mov eax, dword [ebp + 0x28]
mov eax, dword [eax]
cmp eax, 6
jne 0x43c3c0
mov eax, dword [ebp + 0x24]
mov edx, dword [ebp - 0x80]
mov dword [eax + 0x44], edx
jmp 0x43c40e
mov eax, dword [ebp - 0x44]
xor eax, dword [ebp - 0x80]
and eax, 7
test eax, eax
je 0x43c3e4
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], 0x19
mov eax, dword [ebp - 0x80]
mov edx, eax
mov eax, ebx
lea ebx, [eax + 1]
and edx, 7
mov byte [eax], dl
mov eax, dword [ebp - 0x80]
and eax, 0x200
test eax, eax
setne al
movzx eax, al
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x28]
xor eax, 1
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x80]
shl eax, 8
and eax, 0x100
mov dword [ebp - 0x40], eax
mov eax, dword [ebp - 0x80]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp + 8]
mov edx, dword [ebp - 0x44]
mov dword [eax], edx
mov dword [ebp - 0x58], 0
jmp 0x43cca4
mov dword [ebp - 0x24], 0x5e
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x43c495
jmp 0x43ccc2
mov eax, dword [ebp - 0x44]
and eax, 0x1000
test eax, eax
je 0x43c45a
mov dword [ebp - 0x24], 0x5e
jmp 0x43c495
nop
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x34]
lea edx, [eax + 1]
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x34], edx
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x34]
sar eax, 8
mov edx, eax
lea eax, [ebx + 3]
mov byte [eax], dl
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0x34]
lea eax, [ebx + 4]
mov byte [eax], dl
mov dword [ebp - 0x8c], 2
jmp 0x43c495
nop
jmp 0x43c495
nop
cmp dword [ebp - 0x24], 0x5c
jle 0x43c49f
mov eax, ebx
jmp 0x43c4a4
mov eax, 0
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x24]
mov byte [ebx], al
mov dword [ebp - 0x180], ebx
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x4c]
mov dword [ebp - 0x170], eax
mov dword [ebp - 0x17c], 0
cmp dword [ebp + 0x28], 0
je 0x43c4d6
lea eax, [ebp - 0x17c]
jmp 0x43c4db
mov eax, 0
cmp dword [ebp - 0x24], 0x5a
je 0x43c4e7
cmp dword [ebp - 0x24], 0x5b
jne 0x43c4ee
mov ecx, 1
jmp 0x43c4f3
mov ecx, 0
mov edx, dword [ebp - 0x44]
and edx, 7
mov dword [esp + 0x30], eax
mov eax, dword [ebp + 0x24]
mov dword [esp + 0x2c], eax
mov eax, dword [ebp + 0x20]
mov dword [esp + 0x28], eax
lea eax, [ebp - 0x1ac]
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x1b0]
mov dword [esp + 0x20], eax
mov eax, dword [ebp - 0x8c]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x74]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], ecx
mov eax, dword [ebp + 0x14]
mov dword [esp + 0x10], eax
lea eax, [ebp - 0x184]
mov dword [esp + 0xc], eax
lea eax, [ebp - 0x180]
mov dword [esp + 8], eax
mov dword [esp + 4], edx
mov eax, dword [ebp - 0x80]
mov dword [esp], eax
call fcn.0043ccdd
test eax, eax
je 0x43ccbe
cmp dword [ebp - 0x24], 0x60
jne 0x43c629
cmp dword [ebp + 0x28], 0
jne 0x43c629
mov dword [ebp - 0xf8], ebx
mov dword [ebp - 0xfc], 0
add dword [ebp - 0xfc], 1
mov eax, dword [ebp - 0xf8]
add eax, 1
movzx eax, byte [eax]
movzx eax, al
shl eax, 8
mov edx, eax
mov eax, dword [ebp - 0xf8]
add eax, 2
movzx eax, byte [eax]
movzx eax, al
or eax, edx
add dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf8]
movzx eax, byte [eax]
cmp al, 0x55
jne 0x43c58a
lea eax, [ebx + 3]
movzx eax, byte [eax]
cmp al, 0x68
jne 0x43c5f3
cmp dword [ebp - 0xfc], 1
jle 0x43c5ea
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x36
jmp 0x43ccc2
mov dword [ebp - 0x24], 0x68
jmp 0x43c629
cmp dword [ebp - 0xfc], 2
jle 0x43c60a
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x1b
jmp 0x43ccc2
cmp dword [ebp - 0xfc], 1
jne 0x43c629
mov dword [ebp - 0x1ac], 0xffffffff
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x1b0], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x29
je 0x43c644
mov eax, dword [ebp + 0x14]
mov dword [eax], 0xe
jmp 0x43ccc2
cmp dword [ebp + 0x28], 0
je 0x43c6b3
mov eax, dword [ebp + 0x28]
mov eax, dword [eax]
mov edx, 0x7fffffeb
sub edx, eax
mov eax, dword [ebp - 0x17c]
sub eax, 6
cmp edx, eax
jge 0x43c671
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x14
jmp 0x43ccc2
mov eax, dword [ebp + 0x28]
mov edx, dword [eax]
mov eax, dword [ebp - 0x17c]
sub eax, 6
add edx, eax
mov eax, dword [ebp + 0x28]
mov dword [eax], edx
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], 0x5e
mov byte [ebx], 0
lea eax, [ebx + 1]
mov byte [eax], 3
add ebx, 2
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], 0x55
mov byte [ebx], 0
lea eax, [ebx + 1]
mov byte [eax], 3
add ebx, 2
jmp 0x43cca4
mov ebx, dword [ebp - 0x180]
cmp dword [ebp - 0x24], 0x68
je 0x43cc97
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x54], 0
cmp dword [ebp - 0x24], 0x5c
jle 0x43c750
cmp dword [ebp - 0x30], 0xfffffffe
jne 0x43c70e
mov eax, dword [ebp - 0x1b0]
test eax, eax
js 0x43c6fe
mov eax, dword [ebp - 0x1b0]
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x54], 1
jmp 0x43c705
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x3c], 0xffffffff
jmp 0x43c734
mov eax, dword [ebp - 0x1b0]
test eax, eax
js 0x43c734
mov eax, dword [ebp - 0x1ac]
test eax, eax
jns 0x43c734
mov eax, dword [ebp - 0x1b0]
or eax, dword [ebp - 0x170]
mov dword [ebp - 0x1ac], eax
mov eax, dword [ebp - 0x1ac]
test eax, eax
js 0x43cc9a
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x34], eax
jmp 0x43cc9a
cmp dword [ebp - 0x24], 0x58
jne 0x43cc9a
mov eax, dword [ebp - 0x1ac]
test eax, eax
js 0x43cc9a
mov eax, dword [ebp - 0x1ac]
mov dword [ebp - 0x34], eax
jmp 0x43cc9a
mov eax, dword [ebp - 0x184]
mov dword [ebp - 0x188], eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x34]
mov dword [esp + 0x10], 0
mov edx, dword [ebp - 0x44]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], eax
lea eax, [ebp - 0x184]
mov dword [esp], eax
call fcn.00436757
mov esi, eax
mov eax, dword [ebp + 0x14]
mov eax, dword [eax]
test eax, eax
jne 0x43ccc1
test esi, esi
jns 0x43cb5b
cmp esi, 0xffffffe6
jne 0x43c80c
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x5c
jne 0x43c800
mov eax, dword [ebp - 0x184]
add eax, 2
movzx eax, byte [eax]
cmp al, 0x45
jne 0x43c800
mov eax, dword [ebp - 0x184]
add eax, 2
mov dword [ebp - 0x184], eax
jmp 0x43cca4
mov dword [ebp - 0x50], 1
jmp 0x43cca4
cmp esi, 0xffffffe7
je 0x43cc9d
cmp dword [ebp - 0x30], 0xfffffffe
jne 0x43c82c
cmp esi, 0xfffffffb
jge 0x43c82c
cmp esi, 0xffffffea
jl 0x43c82c
mov dword [ebp - 0x30], 0xffffffff
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
cmp esi, 0xffffffe5
jne 0x43c9f9
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x3c
jne 0x43c86d
mov eax, 0x3e
jmp 0x43c872
mov eax, 0x27
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x74], 0
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x2b
je 0x43c98e
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x2d
je 0x43c98e
mov dword [ebp - 0x104], 1
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x100], eax
jmp 0x43c91f
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x100]
movzx eax, byte [eax]
movzx eax, al
add eax, edx
movzx eax, byte [eax]
movzx eax, al
and eax, 4
test eax, eax
jne 0x43c8f7
mov dword [ebp - 0x104], 0
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x100]
movzx eax, byte [eax]
movzx eax, al
add eax, edx
movzx eax, byte [eax]
movzx eax, al
and eax, 0x10
test eax, eax
je 0x43c942
add dword [ebp - 0x100], 1
mov eax, dword [ebp - 0x100]
movzx eax, byte [eax]
test al, al
je 0x43c943
mov eax, dword [ebp - 0x100]
movzx eax, byte [eax]
movzx eax, al
cmp dword [ebp - 0x90], eax
jne 0x43c8cc
jmp 0x43c943
nop
mov eax, dword [ebp - 0x100]
movzx eax, byte [eax]
movzx eax, al
cmp dword [ebp - 0x90], eax
je 0x43c965
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x39
jmp 0x43cca4
cmp dword [ebp - 0x104], 0
je 0x43c982
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x43bea8
mov dword [ebp - 0x70], 1
jmp 0x43bcb7
mov eax, dword [ebp - 0x184]
add eax, 2
mov dword [ebp - 0x100], eax
jmp 0x43c9a6
add dword [ebp - 0x100], 1
mov eax, dword [ebp - 0x100]
movzx eax, byte [eax]
movzx eax, al
movzx eax, byte [eax + 0x57ce40]
movzx eax, al
and eax, 4
test eax, eax
jne 0x43c99f
mov eax, dword [ebp - 0x100]
movzx eax, byte [eax]
movzx eax, al
cmp dword [ebp - 0x90], eax
je 0x43c9e5
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x39
jmp 0x43cca4
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x43bea8
cmp esi, 0xffffffe4
jne 0x43ca7c
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x3c
je 0x43ca2e
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x27
je 0x43ca2e
mov eax, dword [ebp - 0x184]
add eax, 1
movzx eax, byte [eax]
cmp al, 0x7b
jne 0x43ca7c
mov dword [ebp - 0x70], 0
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x3c
je 0x43ca6c
mov eax, dword [ebp - 0x184]
movzx eax, byte [eax]
cmp al, 0x27
jne 0x43ca65
mov eax, 0x27
jmp 0x43ca71
mov eax, 0x7d
jmp 0x43ca71
mov eax, 0x3e
mov dword [ebp - 0x90], eax
jmp 0x43bcb7
cmp esi, 0xffffffe4
jge 0x43cb18
mov eax, 0xffffffe3
sub eax, esi
mov dword [ebp - 0x84], eax
jmp 0x43ca95
nop
cmp dword [ebp - 0x30], 0xfffffffe
jne 0x43caa2
mov dword [ebp - 0x30], 0xffffffff
mov dword [ebp - 0x58], ebx
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], 0x51
mov eax, dword [ebp - 0x84]
sar eax, 8
mov byte [ebx], al
lea eax, [ebx + 1]
mov edx, dword [ebp - 0x84]
mov byte [eax], dl
add ebx, 2
mov eax, dword [ebp + 0x24]
mov edx, dword [eax + 0x40]
cmp dword [ebp - 0x84], 0x1f
jg 0x43cae8
mov eax, dword [ebp - 0x84]
mov esi, 1
mov ecx, eax
shl esi, cl
mov eax, esi
jmp 0x43caed
mov eax, 1
or edx, eax
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x40], edx
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x3c]
cmp dword [ebp - 0x84], eax
jle 0x43cca0
mov eax, dword [ebp + 0x24]
mov edx, dword [ebp - 0x84]
mov dword [eax + 0x3c], edx
jmp 0x43cca0
cmp esi, 0xffffffea
je 0x43cb27
cmp esi, 0xfffffff1
je 0x43cb27
cmp esi, 0xfffffff0
jne 0x43cb35
mov eax, dword [ebp + 0x14]
mov dword [eax], 0x2d
jmp 0x43ccc2
cmp esi, 0xfffffffb
jge 0x43cb43
cmp esi, 0xffffffea
jl 0x43cb43
mov eax, ebx
jmp 0x43cb48
mov eax, 0
mov dword [ebp - 0x58], eax
mov edx, esi
mov eax, ebx
lea ebx, [eax + 1]
neg edx
mov byte [eax], dl
jmp 0x43cca0
mov eax, esi
mov byte [ebp - 0x1b8], al
mov dword [ebp - 0x94], 1
jmp 0x43cb88
nop
jmp case.0x438e29.95
nop
jmp case.0x438e29.95
nop
mov dword [ebp - 0x94], 1
mov eax, esi
mov byte [ebp - 0x1b8], al
mov dword [ebp - 0x58], ebx
mov eax, dword [ebp - 0x44]
and eax, 1
test eax, eax
je 0x43cb9c
mov edx, 0x1d
jmp 0x43cba1
mov edx, 0x1c
mov eax, ebx
lea ebx, [eax + 1]
mov byte [eax], dl
mov esi, 0
jmp 0x43cbc1
mov eax, ebx
lea ebx, [eax + 1]
movzx edx, byte [ebp + esi - 0x1b8]
mov byte [eax], dl
add esi, 1
cmp esi, dword [ebp - 0x94]
jl 0x43cbaf
movzx eax, byte [ebp - 0x1b8]
cmp al, 0xd
je 0x43cbdf
movzx eax, byte [ebp - 0x1b8]
cmp al, 0xa
jne 0x43cbf0
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x48]
or eax, 0x20
mov edx, eax
mov eax, dword [ebp + 0x24]
mov dword [eax + 0x48], edx
cmp dword [ebp - 0x30], 0xfffffffe
jne 0x43cc50
mov dword [ebp - 0x3c], 0xffffffff
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x94], 1
je 0x43cc12
cmp dword [ebp - 0x40], 0
jne 0x43cc41
movzx eax, byte [ebp - 0x1b8]
movzx eax, al
or eax, dword [ebp - 0x40]
mov dword [ebp - 0x30], eax
cmp dword [ebp - 0x94], 1
je 0x43cc86
lea eax, [ebx - 1]
movzx eax, byte [eax]
movzx edx, al
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x4c]
or eax, edx
mov dword [ebp - 0x34], eax
jmp 0x43cc86
mov dword [ebp - 0x34], 0xffffffff
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x30], eax
jmp 0x43cca3
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x38], eax
cmp dword [ebp - 0x94], 1
je 0x43cc6b
cmp dword [ebp - 0x40], 0
jne 0x43cca3
lea eax, [ebx - 1]
movzx eax, byte [eax]
movzx eax, al
or eax, dword [ebp - 0x40]
mov edx, eax
mov eax, dword [ebp + 0x24]
mov eax, dword [eax + 0x4c]
or eax, edx
mov dword [ebp - 0x34], eax
jmp 0x43cca3
jmp 0x43cca3
nop
jmp 0x43cca4
nop
jmp 0x43cca4
nop
jmp 0x43cca4
nop
jmp 0x43cca4
nop
jmp 0x43cca4
nop
jmp 0x43cca4
nop
jmp 0x43cca4
nop
jmp 0x43cca4
nop
jmp 0x43cca4
nop
mov eax, dword [ebp - 0x184]
add eax, 1
mov dword [ebp - 0x184], eax
jmp 0x438a7f
nop
jmp 0x43ccc2
nop
jmp 0x43ccc2
nop
jmp 0x43ccc2
nop
mov edx, dword [ebp - 0x184]
mov eax, dword [ebp + 0x10]
mov dword [eax], edx
mov eax, 0
add esp, 0x22c
pop ebx
pop esi
pop edi
pop ebp
ret