Function at 0x40f310
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
sub esp, 0x64
push eax
sub esp, 0x7c
mov dword [ebp - 0x4c], esp
sub esp, 0x100
mov edx, esp
push eax
mov dword [ebp - 0x44], esp
push eax
mov dword [ebp - 0x54], esp
sub esp, 0x70
mov edi, esp
sub esp, 0x24
mov dword [ebp - 0x48], esp
sub esp, 0xc
mov dword [ebp - 0x3c], esp
sub esp, 0x40
mov ecx, esp
sub esp, 0x80
mov eax, esp
mov esi, dword [0x453c10]
mov dword [ebp - 0x10], edx
mov dword [ebp - 0x64], 0x37362138
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x18], ecx
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
cmp eax, 7
ja 0x40ea56
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x38]
movzx eax, byte [ebp + eax - 0x64]
push dword [ebp - 0x38]
push eax
call fcn.004110d0
add esp, 8
mov ecx, dword [ebp - 0x38]
mov byte [ebp + ecx - 0x64], al
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp eax, 8
jb 0x40ea30
mov ebx, dword [ebp - 0x64]
mov dword [ebp - 0x38], 0x9ff799e3
mov dword [ebp - 0x34], 0xa3ca9dee
mov dword [ebp - 0x30], 0xa7d2a1d4
mov dword [ebp - 0x2c], 0xab98a5d4
mov dword [ebp - 0x28], 0xafc2a9cc
mov dword [ebp - 0x24], 0xb3b2adc0
mov word [ebp - 0x20], 0
mov byte [ebp - 0x1e], 0
mov dword [ebp - 0x1c], 0
mov eax, dword [ebp - 0x1c]
cmp eax, 0x1a
ja 0x40eac6
nop
nop
nop
nop
mov eax, dword [ebp - 0x1c]
movzx eax, byte [ebp + eax - 0x38]
push dword [ebp - 0x1c]
push eax
call fcn.00411050
add esp, 8
mov ecx, dword [ebp - 0x1c]
mov byte [ebp + ecx - 0x38], al
inc dword [ebp - 0x1c]
mov eax, dword [ebp - 0x1c]
cmp eax, 0x1b
jb 0x40eaa0
lea eax, [ebp - 0x38]
push ebx
push 0
push eax
call esi
mov ecx, 0x453bd8
push eax
call fcn.00444550
movzx eax, al
jmp dword [eax*4 + 0x44eaa8]
xor eax, eax
jmp 0x40f0c4
push 0xe2bceb04
push dword [0x453bd8]
call fcn.004488c0
add esp, 8
mov dword [0x453be0], eax
push 0x248106fa
push dword [0x453bd8]
call fcn.004488c0
add esp, 8
mov dword [0x453be4], eax
push 0x89b8457d
push dword [0x453bd8]
call fcn.004488c0
add esp, 8
mov dword [0x453be8], eax
push 0x44f824fb
push dword [0x453bd8]
call fcn.004488c0
add esp, 8
mov dword [0x453bec], eax
push 0xf072343c
push dword [0x453bd8]
call fcn.004488c0
add esp, 8
mov dword [0x453bf0], eax
push 0x638f2392
push dword [0x453bd8]
call fcn.004488c0
add esp, 8
mov dword [0x453bf4], eax
push 0xd711af57
push dword [0x453bd8]
call fcn.004488c0
add esp, 8
mov dword [0x453bf8], eax
push 0x1ad145e2
push dword [0x453bd8]
call fcn.004488c0
add esp, 8
mov esi, eax
jmp dword [0x44eab0]
mov eax, 1
mov ecx, dword [ebp - 0x5c]
jmp dword [eax*4 + 0x44eae0]
add ecx, 4
xor eax, eax
cmp ecx, 0x24
setne al
jmp dword [eax*4 + 0x44eac0]
push esi
mov dword [ebp - 0x5c], ecx
push dword [ecx + 0x44ca2c]
call fcn.0043f650
add esp, 8
mov ebx, dword [ebp - 0x6c]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [ebx + 1], 0
lea ebx, [ebx + 1]
jne 0x40ebf0
mov dword [ebp - 0x38], 0
mov edx, dword [ebp - 0x10]
mov ecx, edx
cmp esi, ebx
jae 0x40ec6a
mov edi, esi
xor esi, esi
nop
nop
nop
cmp byte [edi], 0
je 0x40ec60
lea eax, [ebp - 0x38]
push eax
push ebx
push edi
call fcn.00410ed0
add esp, 0xc
movzx ecx, word [ebp - 0x38]
mov word [ebp - 0x50], cx
lea ecx, [esi + 2]
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x10]
movzx ecx, word [ebp - 0x50]
mov word [edx + esi], cx
mov ecx, dword [ebp - 0x70]
mov edx, dword [ebp - 0x10]
cmp esi, 0xfb
ja 0x40ec52
add edi, eax
mov esi, ecx
cmp edi, ebx
jb 0x40ec10
add ecx, edx
jmp 0x40ec64
add esi, edx
mov ecx, esi
mov edi, dword [ebp - 0x58]
mov esi, dword [ebp - 0x4c]
mov word [ecx], 0
push edx
mov ebx, edx
call case.0x40f026.14
add esp, 4
movzx eax, al
jmp dword [eax*4 + 0x44ead8]
movzx ecx, word [ebx]
mov eax, 0x453c14
test cx, cx
je 0x40ecb1
mov edx, dword [ebp - 0x68]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x40eca0
mov word [eax], 0
xor eax, eax
mov cl, 1
mov dword [ebp - 0x40], ecx
mov ecx, dword [ebp - 0x5c]
jmp dword [eax*4 + 0x44eae0]
movzx ebx, byte [ecx]
mov eax, esi
test bl, bl
je 0x40ecfd
mov ecx, dword [ebp - 0x3c]
mov edx, esi
mov eax, esi
jmp 0x40eced
inc eax
mov edx, eax
mov ecx, dword [ebp - 0x3c]
movzx ebx, byte [ecx]
test bl, bl
je 0x40ecfd
mov bh, byte [edx]
test bh, bh
je 0x40ecfb
cmp bh, bl
jne 0x40ece0
inc edx
inc ecx
jmp 0x40ece6
xor eax, eax
mov ecx, dword [case.0x40f026.18]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp ecx
jmp dword [0x44eb58]
xor ecx, ecx
test eax, eax
setne cl
mov ebx, dword [ebp - 0x40]
jmp dword [ecx*4 + 0x44eb60]
jmp dword [0x44eb68]
jmp case.0x40ec7d.9
mov dword [ecx], 0xafa9eae4
mov dword [ecx + 4], 0x23e0af9d
mov word [ecx + 8], 0
mov byte [ecx + 0xa], 0
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
cmp eax, 0xa
ja 0x40ed9a
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x38]
movzx eax, byte [ecx + eax]
push dword [ebp - 0x38]
push eax
call fcn.00411250
add esp, 8
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x3c]
mov byte [edx + ecx], al
mov ecx, dword [ebp - 0x3c]
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp eax, 0xb
jb 0x40ed70
mov dword [ebp - 0x40], ebx
mov eax, dword [case.0x40f026.11]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
mov eax, dword [ebp - 0x44]
mov eax, dword [eax]
movzx edx, byte [ecx]
test dl, dl
je 0x40edeb
mov esi, eax
jmp 0x40eddd
inc esi
mov eax, esi
mov ecx, dword [ebp - 0x48]
movzx edx, byte [ecx]
test dl, dl
je 0x40edf1
mov dh, byte [eax]
test dh, dh
je 0x40edef
cmp dh, dl
jne 0x40edd0
inc eax
inc ecx
jmp 0x40edd6
mov esi, eax
jmp 0x40edf1
xor esi, esi
mov eax, dword [case.0x40f026.4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
xor eax, eax
test esi, esi
setne al
mov ecx, dword [ebp - 0x3c]
jmp dword [eax*4 + 0x44eb18]
mov eax, dword [ebp - 0x44]
push dword [eax]
call fcn.00442d50
add esp, 4
jmp case.0x40ec7d.9
movzx eax, al
jmp dword [eax*4 + 0x44ebb0]
mov ebx, dword [ebp - 0x40]
jmp case.0x40f026.6
movzx ecx, word [edi]
test cx, cx
je 0x40ee63
add edi, 2
mov eax, 0x453c14
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edi]
add edi, 2
test cx, cx
jne 0x40ee50
jmp 0x40ee68
mov eax, 0x453c14
mov word [eax], 0
mov bl, 1
and bl, 1
jmp case.0x40f026.6
mov dword [0x453c00], eax
push 0xe9e47300
push dword [0x453bd8]
call fcn.004488c0
add esp, 8
mov dword [0x453c04], eax
mov esi, dword [ebp - 0x4c]
push 0x6b702a5b
push dword [0x453bd8]
call fcn.004488c0
add esp, 8
mov dword [0x453c08], eax
push 0xc135ffae
push dword [0x453bd8]
call fcn.004488c0
add esp, 8
mov dword [0x453c0c], eax
lea eax, [esi - 1]
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x10]
add eax, 2
mov dword [ebp - 0x68], eax
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0x40], 0
cmp ecx, 0x24
setne al
xor ecx, ecx
mov dword [ebp - 0x58], edi
jmp dword [eax*4 + 0x44eac0]
jmp dword [0x44ead0]
mov ebx, dword [ebp - 0x40]
and bl, 1
movzx eax, bl
jmp dword [eax*4 + 0x44eaf8]
mov eax, dword [ebp - 0x44]
mov dword [eax], 0
mov eax, dword [ebp - 0x54]
mov dword [eax], 0
mov dword [edi], 0x1fa07ec
mov dword [edi + 4], 0xdf203fc
mov dword [edi + 8], 0x9340ff1
mov dword [edi + 0xc], 0x153b0b39
mov dword [edi + 0x10], 0x11ea17e9
mov dword [edi + 0x14], 0x1df113ff
mov dword [edi + 0x18], 0x19f31feb
mov dword [edi + 0x1c], 0x25ed1be9
mov dword [edi + 0x20], 0x21d927d3
mov dword [edi + 0x24], 0x2dc923d6
mov dword [edi + 0x28], 0x29d52fd0
mov dword [edi + 0x2c], 0x35c72b1e
mov dword [edi + 0x30], 0x31c137c5
mov dword [edi + 0x34], 0x3dc23301
mov dword [edi + 0x38], 0x39cf3fce
mov dword [edi + 0x3c], 0xc5d13bd6
mov dword [edi + 0x40], 0xc129c730
mov dword [edi + 0x44], 0xcdf3c33d
mov dword [edi + 0x48], 0xc9f0cff5
mov dword [edi + 0x4c], 0xd5f4cbf7
mov dword [edi + 0x50], 0xd1e5d7e7
mov dword [edi + 0x54], 0xdde9d3eb
mov dword [edi + 0x58], 0xd9ecdfe5
mov dword [edi + 0x5c], 0xe5e7dbe4
mov dword [edi + 0x60], 0xe1d5e7d9
mov dword [edi + 0x64], 0xedd2e3db
mov dword [edi + 0x68], 0xe9eeefdc
mov byte [edi + 0x6e], 0
mov word [edi + 0x6c], 0
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
cmp eax, 0x6e
ja 0x40f014
nop
nop
nop
mov eax, dword [ebp - 0x38]
movzx eax, byte [edi + eax]
push dword [ebp - 0x38]
push eax
call fcn.00411150
add esp, 8
mov ecx, dword [ebp - 0x38]
mov byte [edi + ecx], al
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp eax, 0x6f
jb 0x40eff0
push dword [ebp - 0x54]
push dword [ebp - 0x44]
push edi
call fcn.0040f870
add esp, 0xc
movzx eax, al
jmp dword [eax*4 + 0x44eb00]
mov ecx, dword [ebp - 0x48]
mov dword [ecx], 0x22363ac0
mov dword [ecx + 4], 0x392fe336
mov dword [ecx + 8], 0xce33322f
mov dword [ecx + 0xc], 0x292728ea
mov dword [ecx + 0x10], 0x3022342b
mov dword [ecx + 0x14], 0x20203c20
mov dword [ecx + 0x18], 0x383d292d
mov dword [ecx + 0x1c], 0x4a2d382e
mov dword [ecx + 0x20], 0xe6a186
mov dword [ebp - 0x38], 0
mov eax, dword [ebp - 0x38]
cmp eax, 0x23
ja 0x40edb2
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x38]
movzx eax, byte [ecx + eax]
push dword [ebp - 0x38]
push eax
call fcn.004111e0
add esp, 8
mov ecx, dword [ebp - 0x38]
mov edx, dword [ebp - 0x48]
mov byte [edx + ecx], al
mov ecx, dword [ebp - 0x48]
inc dword [ebp - 0x38]
mov eax, dword [ebp - 0x38]
cmp eax, 0x24
jb 0x40f090
jmp 0x40edb2
test bl, bl
setne al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edi, dword [ebp - 0x14]
add ebx, edi
mov ecx, ebx
mov ebx, dword [ebp - 0x18]
mov word [ecx], 0
push edi
call case.0x40f026.14
add esp, 4
mov ecx, ebx
jmp dword [0x44eb9c]
mov edx, ecx
inc ecx
cmp byte [edx], 0
jne case.0x40f026.36
mov dword [ebp - 0x38], 0
mov ecx, edi
cmp edx, ebx
jbe 0x40f0d6
mov edi, ebx
xor ebx, ebx
mov dword [ebp - 0x10], edx
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi], 0
je 0x40f0cc
lea eax, [ebp - 0x38]
push eax
push edx
push edi
call fcn.00410ed0
add esp, 0xc
movzx edx, word [ebp - 0x38]
lea ecx, [ebx + 2]
mov esi, dword [ebp - 0x14]
mov word [esi + ebx], dx
mov edx, dword [ebp - 0x10]
cmp ebx, 0x7b
ja 0x40f141
add edi, eax
mov ebx, ecx
cmp edi, edx
jb 0x40f110
mov edi, dword [ebp - 0x14]
add ecx, edi
jmp 0x40f0d3
jmp dword [0x44ebac]
xor ebx, ebx
xor eax, eax
cmp ebx, edi
setb al
jmp dword [eax*4 + 0x44eb78]
mov ebx, dword [ebp - 0x18]
jmp dword [0x44eb84]
mov byte [ebx + edi], 0
jmp dword [0x44eb8c]
mov byte [ebx + edi], 0
mov byte [ebx + edi], 0
jmp dword [0x44eb8c]
mov ecx, ebx
mov edi, dword [ebp - 0x14]
jmp dword [0x44eb90]
mov eax, ebx
nop
nop
nop
nop
nop
mov esi, eax
inc eax
cmp byte [esi], 0
jne 0x40f1a0
mov dword [ebp - 0x38], 0
mov ecx, edi
cmp esi, ebx
jbe 0x40f29c
mov edi, ebx
xor ebx, ebx
cmp byte [edi], 0
je 0x40f292
lea eax, [ebp - 0x38]
push eax
push esi
push edi
call fcn.00410ed0
add esp, 0xc
movzx ecx, word [ebp - 0x38]
mov word [ebp - 0x10], cx
lea ecx, [ebx + 2]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x14]
movzx ecx, word [ebp - 0x10]
mov word [edx + ebx], cx
mov ecx, dword [ebp - 0x50]
cmp ebx, 0x7b
ja 0x40f1fd
add edi, eax
mov ebx, ecx
cmp edi, esi
jb 0x40f1bd
mov edi, dword [ebp - 0x14]
add ecx, edi
jmp 0x40f299
mov ecx, dword [ebp - 0x18]
mov byte [ecx + ebx], al
inc ebx
xor eax, eax
cmp ebx, edi
setb al
jmp dword [eax*4 + 0x44eb78]
movzx eax, byte [esi + ebx + 0x22]
mov ecx, eax
add cl, 0x9f
xor edx, edx
cmp cl, 0x1a
setb dl
jmp dword [edx*4 + 0x44ebb8]
movsx eax, al
add eax, 0xffffff9f
mov ecx, eax
xor ecx, 0xb
and eax, 0xfffffff4
add eax, eax
sub eax, ecx
mov ecx, eax
and ecx, 0x1a
xor eax, 0x1a
lea ecx, [eax + ecx*2]
mov eax, dword [case.0x40f026.51]
jmp eax
mov edx, 0x4ec4ec4f
mov eax, ecx
imul edx
mov eax, edx
shr eax, 0x1f
sar edx, 3
add edx, eax
lea eax, [edx + edx*4]
lea eax, [eax + eax*4]
add eax, edx
sub ecx, eax
mov eax, ecx
and eax, 0x61
xor ecx, 0x61
lea eax, [ecx + eax*2]
mov ecx, dword [case.0x40f026.46]
jmp ecx
mov edi, dword [ebp - 0x14]
add ebx, edi
mov ecx, ebx
mov ebx, dword [ebp - 0x18]
mov word [ecx], 0
push edi
call case.0x40f026.14
add esp, 4
mov ecx, ebx
jmp case.0x40f026.36
mov dword [0x453bfc], esi
push 0xedb83653
push dword [0x453bd8]
call fcn.004488c0
add esp, 8
mov dword [0x453bfc], esi
push 0xedb83653
push dword [0x453bd8]
call fcn.004488c0
add esp, 8
jmp dword [0x44eabc]
mov byte [eax], 0
mov byte [eax], 0
mov edi, 0xffffffff
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [esi + edi + 0x23], 0
lea edi, [edi + 1]
jne 0x40f300
jmp dword [0x44eb70]
push ebp
push ebx
push edi
push esi
sub esp, 0x8c
mov dword [esp + 0x18], 0x12eae6e9
mov dword [esp + 0x1c], 0xfef8fce0
lea ebx, [esp + 0x20]
mov byte [esp + 0x20], 0x50
mov dword [esp + 0x21], 0
mov word [esp + 0x25], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0xe
ja 0x40f38b
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x18]
push dword [esp + 4]
push eax
call fcn.004112d0
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0xf
jb 0x40f360
lea esi, [esp + 0x83]
lea ebp, [esp + 0x18]
mov eax, ebp
mov ecx, 2
mov edi, esi
xchg esi, eax
rep movsd dword es:[edi], dword [esi]
xchg esi, eax
lea edi, [esp + 0x8b]
xor ecx, ecx
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
movzx eax, byte [esp + 0x20]
mov byte [esp + 0x8b], al
mov dword [esp + 0x18], 0x3fad39ff
mov dword [esp + 0x1c], 0x23b63dae
mov dword [esp + 0x20], 0x27b42185
mov dword [esp + 0x24], 0x2bc725b0
mov dword [esp + 0x28], 0x2fb7299c
mov dword [esp + 0x2c], 0x13b72dbc
mov dword [esp + 0x30], 0x17f611ce
mov dword [esp + 0x34], 0x1b8a15b5
mov dword [esp + 0x38], 0x1fb21988
mov dword [esp + 0x3c], 0x3a51db5
mov dword [esp + 0x40], 0x79201a1
mov dword [esp + 0x44], 0xb9905ad
mov dword [esp + 0x48], 0xfdd099a
mov dword [esp + 0x4c], 0xf31f0d94
mov dword [esp + 0x50], 0xf76df16b
mov dword [esp + 0x54], 0xfb17f56f
mov dword [esp + 0x58], 0xff6df952
mov dword [esp + 0x5c], 0xe34ffd6a
mov dword [esp + 0x60], 0xe773e10d
mov dword [esp + 0x64], 0xeb46e572
mov dword [esp + 0x68], 0xef7ce94d
mov dword [esp + 0x6c], 0xd341ed4b
mov dword [esp + 0x70], 0xd773d174
mov dword [esp + 0x74], 0xdbd7d570
mov dword [esp + 0x78], 0xdfded9d6
mov byte [esp + 0x7c], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x64
ja 0x40f4cb
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x18]
push dword [esp + 4]
push eax
call fcn.004113b0
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x65
jb 0x40f4a0
mov ebx, dword [esp + 0xa0]
mov dword [esp + 4], 0xc955cb9d
mov dword [esp + 8], 0xc551c758
mov dword [esp + 0xc], 0xc3c4
mov byte [esp + 0x10], 0
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0xc
ja 0x40f526
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 4]
push dword [esp]
push eax
call fcn.00411350
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0xd
jb 0x40f500
mov eax, esp
lea edi, [esp + 4]
push 0
push eax
push 8
push esi
push ebp
push edi
push ebx
call fcn.0040ffc0
add esp, 0x1c
test al, al
je 0x40f644
mov word [esp + 0x18], 0xaaa7
mov byte [esp + 0x1a], 0x32
mov dword [esp + 0x1b], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 6
ja 0x40f59b
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x18]
push dword [esp + 4]
push eax
call fcn.00411420
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 7
jb 0x40f570
xor eax, eax
mov ecx, dword [esp]
movzx edx, byte [ecx + eax]
mov dh, byte [esp + eax + 0x18]
test dl, dl
je 0x40f5b1
inc eax
cmp dl, dh
je 0x40f5a0
mov al, 1
mov dword [esp + 0x14], eax
cmp dl, dh
je 0x40f802
mov dword [esp + 0x18], 0x1d0f0011
mov dword [esp + 0x1c], 0xed1c1e07
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 7
ja 0x40f60b
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x18]
push dword [esp + 4]
push eax
call fcn.00411480
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 8
jb 0x40f5e0
mov eax, dword [esp]
movzx ebx, byte [esp + 0x18]
test bl, bl
je 0x40f64b
mov edx, ebp
mov ecx, eax
jmp 0x40f627
movzx ebx, byte [edx]
test bl, bl
je 0x40f64d
mov bh, byte [eax]
test bh, bh
je 0x40f7fa
inc eax
inc edx
lea esi, [ecx + 1]
cmp bh, bl
je 0x40f63e
mov ecx, esi
mov eax, esi
je 0x40f620
mov edx, ebp
jmp 0x40f620
xor eax, eax
jmp 0x40f811
mov ecx, eax
test ecx, ecx
je 0x40f7fa
mov dword [esp + 0x18], 0x4a43584a
mov dword [esp + 0x1c], 0xbf530b71
mov dword [esp + 0x20], 0x6f704643
mov dword [esp + 0x24], 0xc63e2cc6
mov dword [esp + 0x28], 0x47780c35
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x13
ja 0x40f6bb
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x18]
push dword [esp + 4]
push eax
call fcn.00411500
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x18], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x14
jb 0x40f690
mov eax, dword [esp]
movzx ecx, byte [esp + 0x18]
test cl, cl
je 0x40f704
lea ebp, [esp + 0x18]
mov edx, ebp
mov esi, eax
jmp 0x40f6e7
movzx ecx, byte [edx]
test cl, cl
je 0x40f706
mov ch, byte [eax]
test ch, ch
je 0x40f7fa
inc eax
inc edx
lea ebx, [esi + 1]
cmp ch, cl
je 0x40f6fe
mov esi, ebx
mov eax, ebx
je 0x40f6e0
mov edx, ebp
jmp 0x40f6e0
mov esi, eax
test esi, esi
je 0x40f7fa
mov dword [esp + 4], 0xe6a186
mov dword [esp + 0x18], 0
mov eax, dword [esp + 0x18]
cmp eax, 3
ja 0x40f75b
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x18]
movzx eax, byte [esp + eax + 4]
push dword [esp + 0x18]
push eax
call fcn.00411570
add esp, 8
mov ecx, dword [esp + 0x18]
mov byte [esp + ecx + 4], al
inc dword [esp + 0x18]
mov eax, dword [esp + 0x18]
cmp eax, 4
jb 0x40f730
movzx edx, byte [esp + 4]
test dl, dl
je 0x40f790
add esi, 0x13
mov eax, edi
mov ecx, esi
mov ebp, esi
jmp 0x40f777
movzx edx, byte [eax]
test dl, dl
je 0x40f7a1
mov dh, byte [ecx]
test dh, dh
je 0x40f7fa
inc ecx
inc eax
lea ebx, [ebp + 1]
cmp dh, dl
je 0x40f78a
mov ebp, ebx
mov ecx, ebx
je 0x40f770
mov eax, edi
jmp 0x40f770
mov byte [0x453d18], 1
mov eax, 0x453d1a
jmp 0x40f822
test ebp, ebp
je 0x40f7fa
mov byte [0x453d18], 1
mov dword [esp + 0x18], 0
mov eax, 0x453d1a
cmp esi, ebp
jae 0x40f822
xor ebx, ebx
lea edi, [esp + 0x18]
cmp byte [esi], 0
je 0x40f81c
push edi
push ebp
push esi
call fcn.00410ed0
add esp, 0xc
movzx edx, word [esp + 0x18]
lea ecx, [ebx + 2]
mov word [ebx + 0x453d1a], dx
cmp ebx, 0x1fb
ja 0x40f7f2
add esi, eax
mov ebx, ecx
cmp esi, ebp
jb 0x40f7c3
lea eax, [ecx + 0x453d1a]
jmp 0x40f822
mov dword [esp + 0x14], 0
push dword [esp]
call fcn.00442d50
add esp, 4
mov eax, dword [esp + 0x14]
add esp, 0x8c
pop esi
pop edi
pop ebx
pop ebp
ret
lea eax, [ebx + 0x453d1a]
mov word [eax], 0
jmp 0x40f802
xor eax, eax
jmp 0x40fd49
mov edi, dword [0x453be0]
mov dword [esi + 0x24], 0x33453165
mov dword [esi + 0x28], 0x3f573d46
mov dword [esi + 0x2c], 0x3b4e394c
mov dword [esi + 0x30], 0x47714525
mov dword [esi + 0x34], 0x4374417d
mov dword [esi + 0x38], 0x4f6e4d7c
mov dword [esi + 0x3c], 0x4b154960
mov dword [esi + 0x40], 0x5720553d
mov dword [esi + 0x44], 0x5325513c
mov dword [esi + 0x48], 0x5f2d5d23
mov dword [esi + 0x4c], 0x5b0c5978
mov dword [esi + 0x50], 0x67466538
mov dword [esi + 0x54], 0x63526151
mov dword [esi + 0x58], 0x6f5e6d5a
mov dword [esi + 0x5c], 0x6b4a6953
mov dword [esi + 0x60], 0x771f752b
mov dword [esi + 0x64], 0x734c7106
mov dword [esi + 0x68], 0x7f457d40
mov dword [esi + 0x6c], 0x7b027958
mov dword [esi + 0x70], 0x87ba85ba
mov dword [esi + 0x74], 0x83a281a9
mov dword [esi + 0x78], 0x8ffe8dcd
mov dword [esi + 0x7c], 0x8bfe89f8
mov dword [esi + 0x80], 0x97c995f9
mov dword [esi + 0x84], 0x93f091fd
mov dword [esi + 0x88], 0x9ff79dd7
mov dword [esi + 0x8c], 0x9bad99e4
mov dword [esi + 0x90], 0xa795a599
mov dword [esi + 0x94], 0xa394a19f
mov dword [esi + 0x98], 0xaf90ad9f
mov dword [esi + 0x9c], 0xab82a988
mov dword [esi + 0xa0], 0xb7feb5ff
mov dword [esi + 0xa4], 0xb3e7b1ec
mov dword [esi + 0xa8], 0xbf8abde8
mov dword [esi + 0xac], 0xbbceb998
mov dword [esi + 0xb0], 0xc7adc5ad
mov dword [esi + 0xb4], 0xc3e2c1ad
mov dword [esi + 0xb8], 0xcfa3cd83
mov dword [esi + 0xbc], 0xcba1c9ab
mov dword [esi + 0xc0], 0xd7ffd5a3
mov dword [esi + 0xc4], 0xd391d1f0
mov dword [esi + 0xc8], 0xdfacddb4
mov dword [esi + 0xcc], 0xdbafd9af
mov dword [esi + 0xd0], 0xe7d1e589
mov dword [esi + 0xd4], 0xe3d3e1d1
mov dword [esi + 0xd8], 0xefd8edd5
mov dword [esi + 0xdc], 0xebdce9d8
mov dword [esi + 0xe0], 0xf7c0f5c4
mov dword [esi + 0xe4], 0xf3d2f1c0
mov dword [esi + 0xe8], 0xff9ffdaf
mov dword [esi + 0xec], 0xfb9bf996
mov dword [esi + 0xf0], 0x76f0576
mov dword [esi + 0xf4], 0x33f0137
mov dword [esi + 0xf8], 0xf310d3f
mov dword [esi + 0xfc], 0xb39093e
mov dword [esi + 0x100], 0x1716152a
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 0xdf
ja 0x40fb98
nop
mov eax, dword [esi + 8]
movzx eax, byte [esi + eax + 0x24]
push dword [esi + 8]
push eax
call fcn.00411b00
add esp, 8
mov ecx, dword [esi + 8]
mov byte [esi + ecx + 0x24], al
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 0xe0
jb 0x40fb70
lea eax, [esi + 0x24]
push 0
push 0
push 0
push 0
push eax
call edi
mov ecx, eax
xor eax, eax
test ecx, ecx
setne al
mov dword [esi + 0xc], 0
xor ebx, ebx
jmp dword [eax*4 + 0x44ebf8]
mov eax, dword [esi + 0x118]
mov dword [esi + 0x14], eax
lea ebx, [eax + eax]
lea eax, [eax*2 + 3]
and eax, 0xfffffffc
call fcn.0040c710
mov eax, esp
and eax, 0xfffffff0
mov esp, eax
mov dword [esi + 0x20], ecx
mov edi, dword [esi + 0x114]
mov ecx, ebx
shr ecx, 2
and ebx, 0xfffffffc
lea edx, [eax + ebx]
mov dword [esi + 0xc], edx
add ebx, edi
mov edx, edi
mov edi, eax
xchg esi, edx
rep movsd dword es:[edi], dword [esi]
xchg esi, edx
mov ecx, dword [esi + 0x14]
and ecx, 1
mov edi, dword [esi + 0xc]
xchg esi, ebx
rep movsw word es:[edi], word [esi]
xchg esi, ebx
mov ecx, dword [esi + 0x118]
mov word [eax + ecx*2], 0
movzx ecx, word [esi + 0x11c]
push 0
push ecx
push eax
mov edi, dword [esi + 0x20]
push edi
call dword [0x453be4]
xor ecx, ecx
mov dword [esi + 0x14], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44ec00]
xor ebx, ebx
mov dword [esi + 0xc], 0
jmp dword [0x44ec80]
mov eax, dword [0x453be8]
mov dword [esi + 0xc], eax
xor eax, eax
cmp dword [esi + 0x110], 2
sete al
xor ebx, ebx
jmp dword [eax*4 + 0x44ec08]
jmp dword [0x44ec14]
push edi
push edx
mov ebx, edx
call dword [0x453c00]
mov edx, ebx
jmp dword [0x44ec50]
mov edi, dword [esi + 0x24]
test eax, eax
setne al
test edi, edi
setne cl
and cl, al
movzx eax, cl
mov ebx, dword [esi + 0x18]
jmp dword [eax*4 + 0x44ec58]
jmp dword [0x44ec64]
mov dword [esi + 8], 0
mov edx, eax
mov edi, dword [esi + 0xc]
add edx, edi
mov dword [esi + 0x18], eax
lea ecx, [esi + 8]
push ecx
push dword [esi + 0x24]
push edx
mov ebx, dword [esi + 0x1c]
push ebx
call dword [0x453c04]
add edi, dword [esi + 8]
mov dword [esi + 0xc], edi
mov edx, ebx
xor eax, eax
mov ebx, dword [esi + 0x18]
jmp dword [eax*4 + 0x44ec78]
mov dword [esi + 0x18], ebx
lea edi, [esi + 0x24]
jmp dword [0x44ec48]
mov eax, 1
mov edx, dword [esi + 0x1c]
jmp dword [eax*4 + 0x44ec78]
mov eax, dword [esi + 0xc]
add eax, edi
mov ecx, eax
and ecx, 1
xor eax, 1
lea eax, [eax + ecx*2]
push eax
push ebx
call fcn.00445790
add esp, 8
mov eax, dword [esi + 0xc]
add eax, edi
inc eax
push eax
push ebx
call fcn.00445790
add esp, 8
jmp dword [0x44ec68]
xor ecx, ecx
test eax, eax
sete cl
jmp dword [ecx*4 + 0x44ec70]
jmp case.0x40fbb8.16
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
jmp dword [0x44ec24]
mov dword [esi + 0xc], 0
xor ebx, ebx
push dword [esi + 0x14]
call dword [0x453c0c]
mov edi, dword [esi + 0x20]
jmp dword [0x44ec80]
mov dword [esi + 0x10], 0xc342c1c0
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0x24]
cmp eax, 3
ja case.0x40fbb8.7
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 0x24]
movzx eax, byte [esi + eax + 0x10]
push dword [esi + 0x24]
push eax
call fcn.00411be0
add esp, 8
mov ecx, dword [esi + 0x24]
mov byte [esi + ecx + 0x10], al
inc dword [esi + 0x24]
mov eax, dword [esi + 0x24]
cmp eax, 4
jb 0x40fd90
mov dword [esi + 0x10], 0xc342c1c0
mov dword [esi + 0x24], 0
mov eax, dword [esi + 0x24]
cmp eax, 3
ja 0x40fdf6
nop
nop
nop
nop
mov eax, dword [esi + 0x24]
movzx eax, byte [esi + eax + 0x10]
push dword [esi + 0x24]
push eax
call fcn.00411be0
add esp, 8
mov ecx, dword [esi + 0x24]
mov byte [esi + ecx + 0x10], al
inc dword [esi + 0x24]
mov eax, dword [esi + 0x24]
cmp eax, 4
jb 0x40fdd0
mov ebx, dword [esi + 0x10]
jmp dword [0x44ec1c]
mov edi, eax
push 0
push 0
push 0
push 0
push 0
push 0
push eax
call dword [0x453bf8]
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0xc], 0
xor ebx, ebx
mov edx, edi
jmp dword [ecx*4 + 0x44ec38]
push 0
push edx
mov edi, edx
call dword [0x453bfc]
mov edx, edi
xor ecx, ecx
test eax, eax
setne cl
mov dword [esi + 0xc], 0
xor ebx, ebx
jmp dword [ecx*4 + 0x44ec40]
push edx
call dword [0x453c0c]
jmp 0x40fd60
mov dword [esi + 0x24], 0
mov dword [esi + 0x18], 0
mov dword [esi + 0xc], 0
lea edi, [esi + 0x24]
mov dword [esi + 0x1c], edx
jmp dword [0x44ec48]
push edi
push edx
mov ebx, edx
call dword [0x453c00]
mov edx, ebx
jmp case.0x40fbb8.20
test ebx, ebx
setne al
jmp 0x40fd49
mov edi, dword [esi + 0x130]
mov dword [esi + 0x24], 0x59815b9d
mov dword [esi + 0x28], 0x5d5e5f8c
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 7
ja 0x40fee6
nop
nop
nop
nop
mov eax, dword [esi + 8]
movzx eax, byte [esi + eax + 0x24]
push dword [esi + 8]
push eax
call fcn.00411b70
add esp, 8
mov ecx, dword [esi + 8]
mov byte [esi + ecx + 0x24], al
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 8
jb 0x40fec0
push ebx
push 0
push 0
push 0
push edi
lea eax, [esi + 0x24]
push eax
push dword [esi + 0x14]
call dword [esi + 0xc]
jmp dword [0x44ec28]
mov edi, dword [esi + 0x130]
mov dword [esi + 0x24], 0x59815b9d
mov dword [esi + 0x28], 0x5d5e5f8c
mov dword [esi + 8], 0
mov eax, dword [esi + 8]
cmp eax, 7
ja 0x40ff56
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esi + 8]
movzx eax, byte [esi + eax + 0x24]
push dword [esi + 8]
push eax
call fcn.00411b70
add esp, 8
mov ecx, dword [esi + 8]
mov byte [esi + ecx + 0x24], al
inc dword [esi + 8]
mov eax, dword [esi + 8]
cmp eax, 8
jb 0x40ff30
push ebx
push 0
push 0
push 0
push edi
lea eax, [esi + 0x24]
push eax
push dword [esi + 0x14]
call dword [esi + 0xc]
jmp case.0x40fbb8.11
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44ec30]
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp + 0xc]
mov edx, dword [esi + 0xc]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov dword [ecx], ebx
mov dword [eax], edx
jmp dword [0x44ec98]
push edi
call dword [0x453c0c]
push edi
call dword [0x453c0c]
jmp dword [0x44ec8c]
push eax
sub esp, 0xdc
mov esi, esp
sub esp, 8
mov edi, esp
jmp eax
sub esp, 8
mov ebx, esp
sub esp, 0xc
mov dword [ebp - 0x18], esp
sub esp, 0x400
mov dword [ebp - 0x28], esp
sub esp, 0x30
mov eax, esp
push eax
mov dword [ebp - 0x1c], esp
push eax
mov dword [ebp - 0x2c], esp
mov ecx, dword [0x453be0]
mov dword [ebp - 0x20], ecx
mov dword [ebp - 0x14], eax
mov dword [esi], 0x33a53185
mov dword [esi + 4], 0x2fb72da6
mov dword [esi + 8], 0x2bbe29bc
mov dword [esi + 0xc], 0x27712585
mov dword [esi + 0x10], 0x2374216d
mov dword [esi + 0x14], 0x1f7e1d4c
mov dword [esi + 0x18], 0x1bb51940
mov dword [esi + 0x1c], 0x1780158d
mov dword [esi + 0x20], 0x1385118c
mov dword [esi + 0x24], 0xf9d0d83
mov dword [esi + 0x28], 0xbbc0968
mov dword [esi + 0x2c], 0x76605a8
mov dword [esi + 0x30], 0x3520151
mov dword [esi + 0x34], 0x7f2e7d2a
mov dword [esi + 0x38], 0x7b1a7933
mov dword [esi + 0x3c], 0x77ef75db
mov dword [esi + 0x40], 0x733c71e6
mov dword [esi + 0x44], 0x6f256d20
mov dword [esi + 0x48], 0x6be26908
mov dword [esi + 0x4c], 0x672a652a
mov dword [esi + 0x50], 0x63026139
mov dword [esi + 0x54], 0x5fce5d1d
mov dword [esi + 0x58], 0x5bce59c8
mov dword [esi + 0x5c], 0x57f955c9
mov dword [esi + 0x60], 0x53f051cd
mov dword [esi + 0x64], 0x4fd74df7
mov dword [esi + 0x68], 0x4b1d49c4
mov dword [esi + 0x6c], 0x47154509
mov dword [esi + 0x70], 0x4314410f
mov dword [esi + 0x74], 0xbff0bdef
mov dword [esi + 0x78], 0xbbe2b9d8
mov dword [esi + 0x7c], 0xb70eb50f
mov dword [esi + 0x80], 0xb307b11c
mov dword [esi + 0x84], 0xaffaad18
mov dword [esi + 0x88], 0xab3ea9c8
mov dword [esi + 0x8c], 0xa73da53d
mov dword [esi + 0x90], 0xa3c2a13d
mov dword [esi + 0x94], 0x9f039d23
mov dword [esi + 0x98], 0x9b01993b
mov dword [esi + 0x9c], 0x97cf9503
mov dword [esi + 0xa0], 0x93d191f0
mov dword [esi + 0xa4], 0x8f1c8d14
mov dword [esi + 0xa8], 0x8b1f891f
mov dword [esi + 0xac], 0x87d18519
mov dword [esi + 0xb0], 0x83d381d1
mov dword [esi + 0xb4], 0xffa8fdb5
mov dword [esi + 0xb8], 0xfbacf9a8
mov dword [esi + 0xbc], 0xf7a0f5a4
mov dword [esi + 0xc0], 0xf392f1a0
mov dword [esi + 0xc4], 0xef4fed5f
mov dword [esi + 0xc8], 0xeb4be976
mov dword [esi + 0xcc], 0xe77fe576
mov dword [esi + 0xd0], 0xe3afe1b7
mov dword [esi + 0xd4], 0xdf91dd8f
mov dword [esi + 0xd8], 0xdb89d98e
mov dword [esi + 0xdc], 0xd7d6d59a
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xdf
ja 0x410216
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [esi + eax]
push dword [ebp - 0x10]
push eax
call fcn.004115f0
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [esi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xe0
jb 0x4101f0
push 0
push 0
push 0
push 0
push esi
call dword [ebp - 0x20]
xor ecx, ecx
mov dword [ebp - 0x20], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44ecb0]
xor edi, edi
xor eax, eax
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
setne al
xor esi, esi
jmp dword [eax*4 + 0x44ed30]
mov esi, dword [0x453be4]
mov dword [edi], 0xc1c6c481
mov byte [edi + 4], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 4
ja 0x410294
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [edi + eax]
push dword [ebp - 0x10]
push eax
call fcn.00411660
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [edi + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 5
jb 0x410270
movzx eax, word [edi]
push 0
push eax
push dword [ebp + 8]
push dword [ebp - 0x20]
call esi
xor ecx, ecx
mov dword [ebp - 0x24], eax
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44ecb8]
xor esi, esi
xor edi, edi
jmp 0x410618
mov esi, dword [0x453be8]
mov dword [ebx], 0xd14ecfcc
mov dword [ebx + 4], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 7
ja 0x410304
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebx + eax]
push dword [ebp - 0x10]
push eax
call fcn.00411760
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 8
jb 0x4102e0
mov edi, dword [ebx]
mov ebx, dword [ebp - 0x18]
mov dword [ebx], 0xb1ff8ffc
mov dword [ebx + 4], 0xb5c6b3c5
mov dword [ebx + 8], 0xb7b4
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0xb
ja 0x410354
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [ebx + eax]
push dword [ebp - 0x10]
push eax
call fcn.004116e0
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [ebx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0xc
jb 0x410330
push edi
push 0
push 0
push 0
push dword [ebp + 0xc]
push ebx
push dword [ebp - 0x24]
call esi
mov ebx, eax
xor eax, eax
test ebx, ebx
setne al
jmp dword [eax*4 + 0x44ecc0]
xor esi, esi
xor edi, edi
jmp 0x41060f
movzx eax, byte [0x453d18]
mov esi, dword [ebp - 0x1c]
mov edi, dword [ebp - 0x28]
mov dword [ebp - 0x18], ebx
jmp dword [eax*4 + 0x44ecc8]
mov edx, dword [ebp - 0x14]
mov dword [edx], 0x1fad19df
mov dword [edx + 4], 0xe34d1daf
mov dword [edx + 8], 0xe743e149
mov dword [edx + 0xc], 0xeb0ae51a
mov dword [edx + 0x10], 0xef4de94b
mov dword [edx + 0x14], 0xf358ed4b
mov dword [edx + 0x18], 0xf75bf153
mov dword [edx + 0x1c], 0xfb59f54f
mov dword [edx + 0x20], 0xff47f95e
mov dword [edx + 0x24], 0xc33ffd4c
mov word [edx + 0x28], 0xc1c0
mov dword [edx + 0x2a], 0
mov byte [edx + 0x2e], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 0x2e
ja 0x410427
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
movzx eax, byte [edx + eax]
push dword [ebp - 0x10]
push eax
call fcn.004117e0
mov edx, dword [ebp - 0x14]
add esp, 8
mov ecx, dword [ebp - 0x10]
mov byte [edx + ecx], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 0x2f
jb 0x410400
movzx ecx, word [edx]
mov eax, edi
test cx, cx
je 0x410451
add edx, 2
mov eax, edi
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x410440
mov word [eax], 0
movzx ecx, word [0x453d1a]
test cx, cx
je 0x410485
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x453d1c]
add edx, 2
test cx, cx
jne 0x410470
add eax, edx
mov word [eax], 0
jmp dword [0x44ecd4]
push 0x20000000
push 0xffffffffffffffff
push edi
push ebx
call dword [0x453bf4]
nop
push 0x20000000
push 0xffffffffffffffff
push edi
push ebx
call dword [0x453bf4]
jmp dword [0x44ecd8]
mov dword [ebp - 0x14], 0
mov ecx, dword [ebp + 0x10]
mov eax, ecx
neg eax
mov eax, 0
sbb eax, eax
push 0
mov edx, dword [ebp + 0x18]
push edx
push edx
push dword [ebp + 0x14]
push eax
push ecx
push ebx
call dword [0x453bf8]
xor ecx, ecx
test eax, eax
setne cl
xor edi, edi
jmp dword [ecx*4 + 0x44ece0]
push 0
push ebx
call dword [0x453bfc]
xor ecx, ecx
test eax, eax
setne cl
mov dword [ebp - 0x14], 0
xor edi, edi
jmp dword [ecx*4 + 0x44ece8]
mov dword [esi], 0
xor edi, edi
mov dword [ebp - 0x14], 0
jmp dword [0x44ecf4]
push esi
push ebx
call dword [0x453c00]
push esi
push ebx
call dword [0x453c00]
jmp dword [0x44ecfc]
mov ecx, dword [esi]
test eax, eax
setne al
test ecx, ecx
setne dl
and dl, al
movzx eax, dl
jmp dword [eax*4 + 0x44ed00]
mov eax, dword [ebp - 0x14]
add eax, ecx
inc eax
push eax
push edi
call fcn.00445790
add esp, 8
mov esi, eax
xor eax, eax
test esi, esi
sete al
jmp dword [eax*4 + 0x44ed08]
mov edi, dword [ebp - 0x2c]
mov ebx, dword [ebp - 0x14]
jmp dword [0x44ed14]
mov eax, 1
mov esi, dword [ebp - 0x1c]
jmp dword [eax*4 + 0x44ed20]
jmp dword [0x44ecf4]
mov dword [edi], 0
lea eax, [esi + ebx]
push edi
mov ecx, dword [ebp - 0x1c]
push dword [ecx]
push eax
push dword [ebp - 0x18]
call dword [0x453c04]
mov dword [edi], 0
lea eax, [esi + ebx]
push edi
mov ecx, dword [ebp - 0x1c]
push dword [ecx]
push eax
push dword [ebp - 0x18]
call dword [0x453c04]
jmp dword [0x44ed18]
add ebx, dword [edi]
mov dword [ebp - 0x14], ebx
xor eax, eax
mov edi, esi
mov esi, dword [ebp - 0x1c]
mov ebx, dword [ebp - 0x18]
jmp dword [eax*4 + 0x44ed20]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44ed28]
jmp case.0x41036d.8
mov eax, dword [ebp - 0x14]
mov byte [edi + eax], 0
push ebx
call dword [0x453c0c]
mov esi, dword [ebp - 0x14]
push dword [ebp - 0x24]
call dword [0x453c0c]
push dword [ebp - 0x20]
call dword [0x453c0c]
xor eax, eax
mov ecx, dword [ebp + 0x1c]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x44ed30]
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44ed48]
jmp dword [0x44ed54]
push edi
call fcn.00442d50
add esp, 4
nop
push edi
call fcn.00442d50
add esp, 4
jmp dword [0x44ed58]
mov dword [ecx], edi
jmp dword [0x44ed44]
xor eax, eax
mov ecx, dword [ebp + 0x20]
test ecx, ecx
setne al
jmp dword [eax*4 + 0x44ed70]
mov dword [ecx], esi
test edi, edi
setne al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor ebx, ebx
jmp 0x410ebe
jmp dword [0x44ed84]
mov ebp, dword [0x453be4]
mov dword [esp + 0x34], 0x4f4e4887
mov word [esp + 0x38], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x41099b
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x34]
push dword [esp + 4]
push eax
call fcn.004118b0
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x34], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x410970
movzx eax, word [esp + 0x34]
push 0
push eax
push 0x453c14
push esi
call ebp
jmp case.0x41022c.53
movzx eax, word [esp + 0x34]
push 0
push eax
push 0x453c14
push esi
call ebp
jmp dword [0x44ed88]
mov ebp, dword [0x453be4]
mov dword [esp + 0x34], 0x4f4e4887
mov word [esp + 0x38], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 5
ja 0x4109b0
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x34]
push dword [esp + 4]
push eax
call fcn.004118b0
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x34], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 6
jb 0x4109f0
jmp 0x4109b0
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44ed90]
xor ebx, ebx
jmp 0x410eb7
mov dword [esp + 0x30], eax
mov ebp, dword [0x453be8]
mov dword [esp], 0x8f0e8988
mov dword [esp + 0x34], 0
mov eax, dword [esp + 0x34]
cmp eax, 3
ja 0x410a89
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 0x34]
movzx eax, byte [esp + eax]
push dword [esp + 0x34]
push eax
call fcn.00411980
add esp, 8
mov ecx, dword [esp + 0x34]
mov byte [esp + ecx], al
inc dword [esp + 0x34]
mov eax, dword [esp + 0x34]
cmp eax, 4
jb 0x410a60
mov edi, dword [esp]
mov dword [esp + 0x34], 0x398b3b8c
mov dword [esp + 0x38], 0x259a2785
mov word [esp + 0x3c], 0x2324
mov dword [esp + 0x3e], 0
mov word [esp + 0x42], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0xf
ja 0x410afb
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax + 0x34]
push dword [esp + 4]
push eax
call fcn.00411910
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x34], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x10
jb 0x410ad0
push edi
push 0
push 0
push 0
push dword [esp + 0x258]
push ebx
push dword [esp + 0x48]
call ebp
mov edi, eax
xor eax, eax
test edi, edi
setne al
jmp dword [eax*4 + 0x44ed98]
xor ebx, ebx
jmp 0x410ead
xor eax, eax
mov ecx, dword [esp + 0x260]
test ecx, ecx
setg al
jmp dword [eax*4 + 0x44eda0]
movzx eax, byte [0x453d18]
jmp dword [eax*4 + 0x44eda8]
push ecx
push ecx
push ecx
push ecx
push edi
call dword [0x453bf0]
movzx eax, byte [0x453d18]
jmp dword [eax*4 + 0x44eda8]
jmp dword [0x44edb0]
mov dword [esp + 4], 0x79eb7b41
mov dword [esp + 8], 0x7de37fe9
mov dword [esp + 0xc], 0x71e973e3
mov dword [esp + 0x10], 0x7516773e
mov dword [esp + 0x14], 0x69cb6bd5
mov dword [esp + 0x18], 0x6df46fcd
mov dword [esp + 0x1c], 0x61f163cd
mov dword [esp + 0x20], 0x65c767e9
mov dword [esp + 0x24], 0x59d55bc2
mov dword [esp + 0x28], 0x5d1d5fc8
mov dword [esp + 0x2c], 0x535c
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x410bf6
mov eax, dword [esp]
movzx eax, byte [esp + eax + 4]
push dword [esp]
push eax
call fcn.00411a00
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x410bd0
movzx ecx, word [esp + 4]
lea eax, [esp + 0x34]
test cx, cx
je 0x410c21
lea edx, [esp + 6]
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x410c10
mov word [eax], 0
movzx ecx, word [0x453d1a]
test cx, cx
je 0x410c55
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x453d1c]
add edx, 2
test cx, cx
jne 0x410c40
add eax, edx
mov word [eax], 0
mov ebp, dword [0x453bf4]
mov dword [esp], 0x37564948
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 3
ja 0x410ca9
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax]
push dword [esp + 4]
push eax
call fcn.00411a80
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 4
jb 0x410c80
lea eax, [esp + 0x34]
push dword [esp]
push 0xffffffffffffffff
push eax
push edi
call ebp
jmp dword [0x44edb8]
mov dword [esp + 4], 0x79eb7b41
mov dword [esp + 8], 0x7de37fe9
mov dword [esp + 0xc], 0x71e973e3
mov dword [esp + 0x10], 0x7516773e
mov dword [esp + 0x14], 0x69cb6bd5
mov dword [esp + 0x18], 0x6df46fcd
mov dword [esp + 0x1c], 0x61f163cd
mov dword [esp + 0x20], 0x65c767e9
mov dword [esp + 0x24], 0x59d55bc2
mov dword [esp + 0x28], 0x5d1d5fc8
mov dword [esp + 0x2c], 0x535c
mov dword [esp], 0
mov eax, dword [esp]
cmp eax, 0x2b
ja 0x410d56
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp]
movzx eax, byte [esp + eax + 4]
push dword [esp]
push eax
call fcn.00411a00
add esp, 8
mov ecx, dword [esp]
mov byte [esp + ecx + 4], al
inc dword [esp]
mov eax, dword [esp]
cmp eax, 0x2c
jb 0x410d30
movzx ecx, word [esp + 4]
mov eax, ebx
test cx, cx
je 0x410d81
lea eax, [esp + 0x34]
lea edx, [esp + 6]
nop
nop
nop
nop
nop
nop
mov word [eax], cx
add eax, 2
movzx ecx, word [edx]
add edx, 2
test cx, cx
jne 0x410d70
mov word [eax], 0
movzx ecx, word [0x453d1a]
test cx, cx
je 0x410db5
xor edx, edx
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov word [eax + edx], cx
movzx ecx, word [edx + 0x453d1c]
add edx, 2
test cx, cx
jne 0x410da0
add eax, edx
mov word [eax], 0
mov ebp, dword [0x453bf4]
mov dword [esp], 0x37564948
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 3
ja 0x410e09
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
movzx eax, byte [esp + eax]
push dword [esp + 4]
push eax
call fcn.00411a80
add esp, 8
mov ecx, dword [esp + 4]
mov byte [esp + ecx], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 4
jb 0x410de0
lea eax, [esp + 0x34]
push dword [esp]
push 0xffffffffffffffff
push eax
push edi
call ebp
jmp case.0x410b19.6
xor eax, eax
mov edx, dword [esp + 0x24c]
mov ecx, edx
neg ecx
sbb eax, eax
push 0
mov ebx, dword [esp + 0x260]
push ebx
push dword [esp + 0x25c]
push dword [esp + 0x25c]
push eax
push edx
push edi
call dword [0x453bf8]
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x44edc0]
xor ebx, ebx
jmp 0x410ea6
mov dword [esp + 0x34], 0
lea eax, [esp + 0x34]
push eax
push ebx
push dword [esp + 0x260]
push edi
call dword [0x453c08]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44edc8]
push 0
push edi
call dword [0x453bfc]
xor ecx, ecx
test eax, eax
setne cl
xor ebx, ebx
jmp dword [ecx*4 + 0x44edd0]
jmp 0x410ea6
mov bl, 1
push edi
call dword [0x453c0c]
push dword [esp + 0x30]
call dword [0x453c0c]
push esi
call dword [0x453c0c]
mov eax, ebx
add esp, 0x234
pop esi
pop edi
pop ebx
pop ebp
ret
ljmp 0x40:0xeaeb0040
jmp 0x44eb1b
in eax, dx
inc eax
add byte [0x40f0], ch
out dx, al
inc eax
add byte [eax], al
out dx, al
inc eax
add byte [edx], al
out dx, al
inc eax
add byte [eax], al
out dx, al
inc eax
add byte [ebx], dl
out dx, al
inc eax
add byte [edx - 0x13], al
inc eax
add byte [eax - 0x4fffbf13], dh
in eax, dx
inc eax
add byte [eax - 0x38ffbf13], dh
in al, dx
inc eax
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax], dl
inc eax
add byte [ecx], al
add byte [eax], al
add byte [eax], dl
in eax, dx
inc eax
add byte [eax], dl
in eax, dx
inc eax
add byte [eax], ah
in eax, dx
inc eax
add byte [eax], dl
in eax, dx
inc eax
add byte [eax], ah
in eax, dx
inc eax
add byte [eax], ah
in eax, dx
inc eax
add byte [esi], ah
in eax, dx
inc eax
add byte [eax], ah
in eax, dx
inc eax
add byte [ebx], dl
out dx, al
inc eax
add byte [edi], dh
in eax, dx
inc eax
add ah, ch
inc eax
add cl, ch
inc eax
add byte [esi - 0xf], dl
inc eax
add cl, ch
inc eax
add byte [esi - 0xf], ah
inc eax
add byte [0x800040f2], ah
int1
inc eax
add byte [edi - 0xf], ch
inc eax
add byte [eax - 0x71ffbf0f], al
int1
inc eax
add ah, ch
invalid
inc dword [eax]
mov edi, 0x460040fb
cld
inc eax
add byte [ebp - 4], dl
inc eax
add byte [ecx - 3], dl
inc eax
add byte [edx - 4], dh
inc eax
add byte [edx - 3], dh
inc eax
add byte [esi + 0x720040fd], dh
std
inc eax
add byte [ecx - 3], dl
inc eax
add dh, bh
inc byte [eax]
cdq
inc byte [eax]
insd dword es:[edi], dx
inc dword [eax]
invalid
add al, byte [ecx]
dec eax
add al, byte [ecx]
mov bl, 2
inc ecx
add byte [edx + eax + 0x3740041], bh
inc ecx
add byte [ebp + 3], bh
inc ecx
add byte [ebp - 0x6bffbefc], dh
add eax, dword [ecx]
nop
add al, 65
add byte [eax - 0x4affbefc], ah
add al, 0x41
add byte [eax + 0x5004104], ah
push es
inc ecx
add ch, ch
add al, 0x41
add byte [0xd004106], al
add eax, 0x5220041
inc ecx
add byte [edx], ch
add eax, 0x5220041
inc ecx
add byte [eax], bh
add eax, 0x5ee0041
inc ecx
add byte [eax + 5], dl
inc ecx
add byte [eax + 5], dh
inc ecx
add byte [eax - 0x5fffbefb], al
add eax, 0x5b90041
inc ecx
add al, bl
add eax, 0x5a00041
inc ecx
add byte [edi - 0x11ffbefb], cl
add eax, 0x5fc0041
inc ecx
add dh, bh
add eax, 0x6320041
inc ecx
add byte [eax + 6], ah
inc ecx
add byte [eax + 6], ah
inc ecx
add byte [eax + 6], ah
inc ecx
add byte [eax + 6], ah
inc ecx
add byte [eax + 6], ch
inc ecx
add byte [eax + 6], ch
inc ecx
add byte [eax + 6], al
inc ecx
add byte [esi + 6], al
inc ecx
add byte [eax + 6], dl
inc ecx
add byte [eax + 6], ch
inc ecx
add byte [eax + 6], dl
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ecx], al
add byte [eax], al
add byte [eax + 6], ch
inc ecx
add byte [ecx], al
add byte [eax], al
add byte [ebx + 6], bh
inc ecx
add byte [ecx + 6], bh
inc ecx
add byte [ecx + ecx], bh
inc ecx
add byte [ebx + 9], al
inc ecx
add byte [ecx + 9], cl
inc ecx
add dh, al
or dword [ecx], eax
sbb eax, 0xc600410a
or dword [ecx], eax
sub ecx, dword [edx]
inc ecx
add byte [edx], dh
or al, byte [ecx]
and byte [ebx], cl
inc ecx
add byte [edi], ah
or eax, dword [ecx]
cmp al, 0xb
inc ecx
add byte [edx + 0xb], cl
inc ecx
add byte [ebx], bl
push cs
inc ecx
add byte [ebx + 0xb], ah
inc ecx
add byte [ecx + 0xb], ch
inc ecx
add byte [esp + ecx + 0xe1b0041], bh
inc ecx
add byte [esp + ecx + 0xe590041], bh
inc ecx
add byte [ebp + 0xe], bl
inc ecx
add byte [edx - 0x76ffbef2], ah
push cs
inc ecx
add byte [edx - 0x5bffbef2], ah
push cs
inc ecx
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax], al
add byte [eax - 0x65ffbee4], dl
sbb eax, 0x2c620041
inc ecx
add byte [esi - 0x56ffbee3], ch
and byte [ecx], al
rcr byte [0x20b60041], 1
inc ecx
add byte [edi - 0x61ffbee0], al
and byte [ecx], al
daa
and dword [ecx], eax
push 0x2c
inc ecx
add byte [ecx], bh
inc ecx
add byte [edi + 0x21], al
inc ecx
add byte [ebp + 0x6a004121], bh
sub al, 0x41
add byte [ebp + 0x2b], bl
inc ecx
add byte [ecx], bh
sub al, 0x41
add byte [esi + 0x2c], cl
inc ecx
add ah, cl
and dword [ecx], eax
and ah, byte [edx]
inc ecx
add ah, bl
and al, byte [ecx]
movsd dword es:[edi], dword [esi]
and eax, dword [ecx]
shl byte [ebx], 0x41
add bh, cl
and eax, dword [ecx]
iretd