Function at 0x436810
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xb0
mov eax, dword [0x449d74]
mov dword [esp + 0x38], 0xa0f4a298
mov dword [esp + 0x3c], 0xa4d0a628
mov dword [esp + 0x40], 0xb8c2bacf
mov dword [esp + 0x44], 0xbcf9becc
mov dword [esp + 0x48], 0xb0ceb2c5
mov dword [esp + 0x4c], 0xb4ceb63d
mov dword [esp + 0x50], 0xc8c9caf0
mov dword [esp + 0x1c], 0
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x1b
ja 0x4368ab
nop
nop
nop
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x1c]
movzx edx, byte [esp + edx + 0x38]
add ecx, 0x5e6f8ca8
xor ecx, edx
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x9c]
add cl, 0xf5
mov edx, dword [esp + 0x1c]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
cmp ecx, 0x1c
jb 0x436870
mov edi, dword [ebp + 8]
lea ecx, [esp + 0x1c]
lea ebx, [esp + 0x9c]
lea esi, [esp + 0x38]
push ecx
push 8
push ebx
push 0xd
push esi
push 0
call eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44757c]
mov dword [esp + 0x9c], 0x3a0043
mov dword [esp + 0xa0], 0x5c
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x34], 0
lea eax, [esp + 0x34]
push eax
push 0x441a88
push 1
push 0
push 0x441a98
call dword [sym.imp.ole32.dll_CoCreateInstance]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447584]
mov dword [esp + 0x38], 0x3d10dda
mov dword [esp + 0x3c], 0x7d201d3
mov dword [esp + 0x40], 0x1bdd05e8
mov dword [esp + 0x44], 0x1fc319c1
mov dword [esp + 0x48], 0x13241df6
mov word [esp + 0x4c], 0x1110
mov dword [esp + 0x4e], 0
mov byte [esp + 0x52], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x1a
ja 0x4369c3
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x38]
add eax, 0x51c2d8c6
xor eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
add al, 0x36
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x1b
jb 0x436990
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, eax
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
lea edx, [esp + 0x30]
push edx
push 0
push 0
push 0
push 0
push 0
push 0
mov dword [esp + 0x34], ebx
push ebx
push eax
call dword [ecx + 0xc]
not eax
shr eax, 0x1f
lea ebx, [esp + 0x9c]
jmp dword [eax*4 + 0x44758c]
push 0
push 0
push 3
push 3
push 0
push 0
push 0xa
push dword [esp + 0x4c]
call dword [sym.imp.ole32.dll_CoSetProxyBlanket]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x447594]
mov dword [esp + 0x38], 0x22f02088
mov dword [esp + 0x3c], 0x3e3d3cf7
mov word [esp + 0x40], 0
mov byte [esp + 0x42], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0xa
ja 0x436a83
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x38]
add eax, 0x64c5654b
xor eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
add al, 0x94
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0xb
jb 0x436a50
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov ebx, eax
mov dword [esp + 0x38], 0x98c29ace
mov dword [esp + 0x3c], 0x9cc69ec3
mov dword [esp + 0x40], 0x90c592d6
mov dword [esp + 0x44], 0x94ab96b7
mov dword [esp + 0x48], 0xa8f3aa8b
mov dword [esp + 0x4c], 0xacfcaef9
mov dword [esp + 0x50], 0xa081a2f0
mov dword [esp + 0x54], 0xa4daa6ce
mov dword [esp + 0x58], 0xb88cbac9
mov dword [esp + 0x5c], 0xbcdcbe89
mov dword [esp + 0x60], 0xb0eeb2f5
mov dword [esp + 0x64], 0xb4e0b6e6
mov word [esp + 0x68], 0xcacb
mov dword [esp + 0x6a], 0
mov dword [esp + 4], 0
mov eax, dword [esp + 4]
cmp eax, 0x35
ja 0x436b43
nop
nop
nop
nop
mov eax, dword [esp + 4]
mov ecx, dword [esp + 4]
movzx ecx, byte [esp + ecx + 0x38]
add eax, 0x5ec0b890
xor eax, ecx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x70]
add al, 0xf5
mov ecx, dword [esp + 4]
mov byte [esp + ecx + 0x38], al
inc dword [esp + 4]
mov eax, dword [esp + 4]
cmp eax, 0x36
jb 0x436b10
push esi
call dword [sym.imp.OLEAUT32.dll_SysReAllocString]
mov esi, dword [esp + 0x30]
mov ecx, dword [esi]
lea edx, [esp + 0x8c]
push edx
push 0
push 0x30
mov dword [esp + 0xa4], eax
push eax
push ebx
push esi
call dword [ecx + 0x50]
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44759c]
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax]
lea edx, [esp + 0x84]
lea esi, [esp + 0x88]
push edx
push esi
push 1
push 0xffffffffffffffff
push eax
call dword [ecx + 0x10]
test eax, eax
setns cl
cmp eax, 1
setne al
cmp dword [esp + 0x84], 0
setne dl
and dl, al
and dl, cl
movzx eax, dl
jmp dword [eax*4 + 0x4475a4]
lea eax, [esp + 0x70]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantClear]
mov eax, dword [esp + 0x88]
mov dword [esp + 0x38], 0x9c069eea
mov dword [esp + 0x3c], 0x900e9205
mov dword [esp + 0x40], 0x940996f0
mov dword [esp + 0x44], 0x88028af9
mov dword [esp + 0x48], 0x8ceb8e1c
mov dword [esp + 0x4c], 0x80178218
mov dword [esp + 0x50], 0x8687
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x10]
cmp ecx, 0x1b
lea esi, [esp + 0x38]
ja 0x436c65
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
movzx edx, byte [esp + edx + 0x38]
add ecx, 0xd9c35b04
xor ecx, edx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 4]
add cl, 0x65
mov edx, dword [esp + 0x10]
mov byte [esp + edx + 0x38], cl
inc dword [esp + 0x10]
mov ecx, dword [esp + 0x10]
cmp ecx, 0x1c
jb 0x436c30
mov ecx, dword [eax]
push 0
push 0
lea edx, [esp + 0x78]
push edx
push 0
push esi
push eax
call dword [ecx + 0x10]
test eax, eax
setns al
cmp word [esp + 0x70], 8
sete cl
and cl, al
movzx eax, cl
jmp dword [eax*4 + 0x4475ac]
mov dword [esp + 0x90], ebx
push dword [esp + 0x78]
call dword [sym.imp.OLEAUT32.dll_VariantInit]
mov edx, dword [esp + 0x78]
mov dword [esp + 0x2c], eax
lea eax, [edx + eax*2]
mov dword [esp + 0xc], eax
movzx ecx, word [edx]
test cx, cx
mov dword [esp + 8], edx
je 0x436cf9
xor ebx, ebx
mov eax, edx
jmp 0x436cd1
add ebx, edx
movzx ecx, word [eax + 2]
add eax, 2
test cx, cx
je 0x436cfb
cmp eax, dword [esp + 0xc]
jae 0x436cfb
movzx esi, cx
cmp esi, 0x800
mov ecx, 3
sbb ecx, 0
mov edx, 1
cmp esi, 0x80
jb 0x436cc3
mov edx, ecx
jmp 0x436cc3
xor ebx, ebx
lea eax, [ebx + 1]
mov dword [esp + 0x80], eax
push eax
call fcn.00409840
add esp, 4
mov esi, eax
mov dword [esp + 0x14], eax
test ebx, ebx
mov ecx, dword [esp + 8]
jle 0x436df2
mov esi, dword [esp + 0x14]
cmp dword [esp + 0x2c], 0
jle 0x436df2
mov esi, dword [esp + 0x14]
lea edx, [esi + ebx]
mov dword [esp + 0x2c], edx
add dword [esp + 0x80], esi
add ecx, 2
movzx edx, word [ecx - 2]
test dx, dx
je 0x436df2
cmp dx, 0x7f
ja 0x436d60
mov byte [esi], dl
mov eax, 1
jmp 0x436ddb
mov dword [esp + 8], ecx
mov ecx, esi
not ecx
add ecx, dword [esp + 0x80]
movzx eax, dx
cmp ecx, 2
jb 0x436d9c
cmp eax, 0x7ff
ja 0x436d9c
mov ecx, edx
shr ecx, 6
add cl, 0xc0
mov byte [esi], cl
and dl, 0x3f
or dl, 0x80
mov byte [esi + 1], dl
mov eax, 2
mov ecx, dword [esp + 8]
jmp 0x436ddb
mov dword [esp + 0x94], eax
xor eax, eax
cmp ecx, 3
mov ecx, dword [esp + 8]
jb 0x436ddb
mov eax, dword [esp + 0x94]
mov ecx, eax
shr ecx, 0xc
or cl, 0xe0
mov byte [esi], cl
mov ecx, dword [esp + 8]
shr eax, 6
and al, 0x3f
or al, 0x80
mov byte [esi + 1], al
and dl, 0x3f
or dl, 0x80
mov byte [esi + 2], dl
mov eax, 3
add esi, eax
cmp esi, dword [esp + 0x2c]
jae 0x436df2
mov edx, ecx
add ecx, 2
cmp edx, dword [esp + 0xc]
jb 0x436d44
mov byte [esi], 0
mov eax, dword [case.0x436c8a.4]
mov dword [esp + 8], eax
xor ecx, ecx
mov edx, dword [case.0x436c8a.7]
xor eax, eax
cmp ecx, 4
setb al
jmp dword [eax*4 + 0x4475b4]
mov dword [esp + 0xc], ebx
mov eax, ecx
and eax, 4
mov esi, ecx
or esi, 4
imul esi, eax
xor eax, 4
mov ebx, edx
mov edx, ecx
and edx, 0xfffffffb
imul edx, eax
add esi, dword [esp + 0x14]
mov eax, dword [edx + esi]
mov edx, ebx
mov ebx, dword [esp + 0xc]
jmp dword [esp + 8]
mov dword [esp + ecx*4 + 0x1c], eax
lea esi, [ebx - 4]
jmp edx
mov dword [esp + ecx*4 + 0x1c], eax
mov dword [esp + ecx*4 + 0x1c], eax
lea esi, [ebx - 4]
jmp edx
xor eax, eax
cmp esi, 4
setb al
jmp dword [eax*4 + 0x4475cc]
inc ecx
xor eax, eax
cmp ecx, 4
setb al
mov ebx, esi
jmp dword [eax*4 + 0x4475b4]
jmp dword [0x4475e0]
mov ebx, dword [esp + 0x90]
jmp dword [0x4475e4]
push dword [esp + 0x14]
call fcn.00409850
add esp, 4
lea eax, [esp + 0x70]
push eax
call dword [sym.imp.OLEAUT32.dll_VariantCopy]
mov eax, dword [esp + 0x88]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov eax, dword [esp + 0x8c]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov esi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push ebx
call esi
push dword [esp + 0x98]
call esi
lea esi, [esp + 0x38]
lea ebx, [esp + 0x9c]
mov eax, dword [esp + 0x30]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
push dword [esp + 0x18]
call dword [sym.imp.OLEAUT32.dll_SysStringLen]
mov eax, dword [esp + 0x34]
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
mov dword [esp + 0x38], 0
push 0xefddb36b
push dword [0x449d6c]
call fcn.0043df10
add esp, 8
push 0
push 0
push 0
push 0
push esi
push 0
push 0
push ebx
call eax
xor ecx, ecx
test eax, eax
setne cl
jmp dword [ecx*4 + 0x4475ec]
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov eax, dword [esp + 0x38]
mov dword [esp + 0x1c], eax
xor esi, esi
mov edx, dword [case.0x436c8a.20]
jmp edx
xor ecx, ecx
cmp esi, 4
setb cl
jmp dword [ecx*4 + 0x447604]
xor edx, edx
test esi, esi
setne dl
mov ecx, esi
jmp dword [edx*4 + 0x44760c]
xor eax, eax
cmp dword [esp + esi*4 + 0x1c], 0
sete al
mov ecx, esi
jmp dword [eax*4 + 0x447614]
lea ecx, [esi - 1]
imul eax, dword [esp + ecx*4 + 0x1c], 0x1a5845
lea ecx, [edi + 8]
add eax, 0xebde8a13
mov dword [esp + esi*4 + 0x1c], eax
mov byte [edi + 8], 0
je 0x437018
mov dword [esp + 0x18], esi
cmp eax, 0x100
mov dword [esp + 0xc], ecx
mov edi, ecx
jb 0x437025
mov esi, eax
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ebx, eax
and ebx, 0xfd
mov ecx, eax
and ecx, 2
mov edx, ecx
xor edx, 2
imul edx, ebx
or ebx, 2
imul ebx, ecx
movzx ecx, word [ebx + edx + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [edi - 2], cx
add edi, 0xfffffffe
shr esi, 8
cmp eax, 0xffff
mov eax, esi
ja 0x436fd0
cmp esi, 0xf
ja 0x43702c
movzx eax, byte [esi + str.0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ]
mov byte [edi - 1], al
dec edi
jmp 0x43703b
mov dword [esp + 0x18], esi
mov byte [edi + 7], 0x30
add edi, 7
jmp 0x43703f
mov esi, eax
cmp esi, 0xf
jbe 0x43700b
movzx eax, word [esi + esi + str.000102030405060708090A0B0C0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152535455565758595A5B5C5D5E5F606162636465666768696A6B6C6D6E6F707172737475767778797A7B7C7D7E7F808182838485868788898A8B8C8D8E8F909192939495969798999A9B9C9D9E9FA0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDFE0E1E2E3E4E5E6E7E8E9EAEBECEDEEEFF0F1F2F3F4F5F6F7F8F9FAFBFCFDFEFF]
mov word [edi - 2], ax
add edi, 0xfffffffe
mov ecx, dword [esp + 0xc]
mov edx, 0xfffffff7
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
cmp byte [edi + edx + 9], 0
lea edx, [edx + 1]
jne case.default.0x437064
neg edx
xor ebx, ebx
add edx, 0xffffffff
setb bl
jmp dword [ebx*4 + 0x44761c]
dec edi
mov byte [edi], 0x30
mov esi, dword [case.0x436b6e.36]
nop
nop
nop
nop
nop
nop
jmp esi
xor ebx, ebx
add edx, 0xffffffff
setb bl
jmp dword [ebx*4 + 0x44761c]
mov esi, dword [esp + 0x18]
inc esi
mov edx, dword [case.0x436c8a.20]
mov edi, ecx
jmp case.0x436c8a.18
push eax
mov esi, esp
jmp ecx
sub esp, 8
mov ebx, esp
sub esp, 0xc
mov edi, esp
push 0x68
push 7
push 0x100080
push esi
push eax
call fcn.0043e920
add esp, 0x14
not eax
shr eax, 0x1f
mov dword [ebp - 0x1c], 0
jmp dword [eax*4 + 0x447644]
push 0x400
call fcn.0043a8a0
add esp, 4
mov dword [ebp - 0x20], eax
mov eax, dword [esi]
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x18], 0x5a5d5c5f
mov byte [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov eax, dword [ebp - 0x10]
cmp eax, 4
ja 0x437177
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov eax, dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
movzx ecx, byte [ebp + ecx - 0x18]
lea edx, [eax + ecx]
add eax, 0x79
and eax, ecx
add eax, eax
sub edx, eax
add edx, 0x3c666479
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x24]
add al, 0xd9
mov ecx, dword [ebp - 0x10]
mov byte [ebp + ecx - 0x18], al
inc dword [ebp - 0x10]
mov eax, dword [ebp - 0x10]
cmp eax, 5
jb 0x437140
mov eax, dword [ebp - 0x18]
mov edx, dword [0x449d78]
test edx, edx
je case.default.0x4371d5
mov dword [ebp - 0x28], ebx
xor ebx, ebx
mov ecx, dword [0x449d7c]
nop
cmp dword [ecx + ebx*8], 0x77a9e0c4
je 0x4371a0
inc ebx
cmp edx, ebx
jne 0x437190
jmp case.default.0x4371d5
mov ecx, dword [ecx + ebx*8 + 4]
cmp ecx, eax
je case.default.0x4371d5
push 0x2f
push 0x400
push dword [ebp - 0x20]
push dword [ebp - 0x28]
push dword [ebp - 0x1c]
push 5
push dword [0x449d80]
push ecx
call fcn.0043c880
add esp, 0x20
not eax
shr eax, 0x1f
mov dword [ebp - 0x1c], 0
jmp dword [eax*4 + 0x44764c]
jmp dword [0x447694]
xor eax, eax
mov ecx, dword [ebp - 0x20]
xor edx, edx
mov dword [ebp - 0x1c], 0
cmp edx, dword [ecx]
setb al
xor ebx, ebx
jmp dword [eax*4 + 0x447654]
mov ecx, edi
call fcn.0043ad70
inc ebx
xor eax, eax
mov ecx, dword [ebp - 0x20]
cmp ebx, dword [ecx]
setb al
jmp dword [eax*4 + 0x447654]
mov eax, dword [ebp - 0x20]
mov eax, dword [eax + ebx*4 + 4]
mov dword [edi], 0
mov dword [edi + 4], 0
mov dword [edi + 8], 0
mov ecx, edi
push 0
push eax
call fcn.0043abe0
xor eax, eax
mov ecx, dword [ebp + 0xc]
neg ecx
sbb eax, dword [ebp + 0x10]
setl al
movzx eax, al
shl eax, 0x14
or eax, 1
mov ecx, edi
push eax
call fcn.0043ac00
not eax
shr eax, 0x1f
jmp dword [eax*4 + 0x44765c]
jmp dword [0x447664]
mov ecx, edi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0
call fcn.0043ae50
nop
nop
nop
mov ecx, edi
push dword [ebp + 0x10]
push dword [ebp + 0xc]
push 0
call fcn.0043ae50
jmp dword [0x44766c]
jmp dword [0x447680]
test eax, eax
setns al
mov dword [ebp - 0x1c], eax
mov eax, dword [case.0x4371d5.4]
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
jmp eax
push dword [ebp - 0x20]
call fcn.0043a910
add esp, 4
mov eax, dword [esi]
mov dword [ebp - 0x18], 0x5a5d5c5f
mov byte [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 4
ja 0x437328
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x18]
lea edi, [ecx + edx]
add ecx, 0x79
and ecx, edx
add ecx, ecx
sub edi, ecx
add edi, 0x3c666479
mov dword [ebp - 0x24], edi
mov ecx, dword [ebp - 0x24]
add cl, 0xd9
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x18], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 5
jb 0x4372f0
mov ecx, dword [0x449d78]
test ecx, ecx
je case.0x4371d5.18
mov edx, dword [ebp - 0x18]
xor edi, edi
mov ebx, dword [0x449d7c]
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x437350
inc edi
cmp ecx, edi
jne 0x437340
jmp case.0x4371d5.18
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
je case.0x4371d5.18
push eax
push 1
push dword [0x449d80]
push ecx
call fcn.0043c880
add esp, 0x10
push dword [ebp - 0x20]
call fcn.0043a910
add esp, 4
mov eax, dword [esi]
mov dword [ebp - 0x18], 0x5a5d5c5f
mov byte [ebp - 0x14], 0
mov dword [ebp - 0x10], 0
mov ecx, dword [ebp - 0x10]
cmp ecx, 4
ja 0x4373d8
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
nop
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
movzx edx, byte [ebp + edx - 0x18]
lea edi, [ecx + edx]
add ecx, 0x79
and ecx, edx
add ecx, ecx
sub edi, ecx
add edi, 0x3c666479
mov dword [ebp - 0x24], edi
mov ecx, dword [ebp - 0x24]
add cl, 0xd9
mov edx, dword [ebp - 0x10]
mov byte [ebp + edx - 0x18], cl
inc dword [ebp - 0x10]
mov ecx, dword [ebp - 0x10]
cmp ecx, 5
jb 0x4373a0
mov ecx, dword [0x449d78]
test ecx, ecx
je 0x437408
mov edx, dword [ebp - 0x18]
xor edi, edi
mov ebx, dword [0x449d7c]
nop
nop
nop
cmp dword [ebx + edi*8], 0x625b6034
je 0x437400
inc edi
cmp ecx, edi
jne 0x4373f0
jmp 0x437408
mov ecx, dword [ebx + edi*8 + 4]
cmp ecx, edx
jne 0x43741b
jmp dword [0x44769c]
mov eax, dword [ebp - 0x1c]
and al, 1
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
push eax
push 1
push dword [0x449d80]
push ecx
call fcn.0043c880
add esp, 0x10
jmp dword [0x44769c]
mov eax, dword [esp + 0x208]
mov ecx, dword [esp + 0x20c]
mov eax, dword [ecx + eax*4]
mov edi, esi
jmp eax
mov word [ebx], 0
mov eax, dword [esp + 0x420]
mov ecx, dword [esp + 0x424]
mov eax, dword [ecx + eax*4]
mov edi, ebx
jmp eax
call fcn.0040a040
mov dword [esp + 0x318], 0
mov eax, dword [esp + 0x31c]
mov ecx, dword [esp + 0x318]
and al, 0x1c
add eax, dword [eax]
add byte [ebx + 0x318248c], cl
add byte [eax], al
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a040
mov dword [esp + 0x200], 1
mov eax, dword [esp + 0x204]
mov ecx, dword [esp + 0x200]
mov eax, dword [eax + ecx*4]
jmp eax
scasb al, byte es:[edi]
xor dword [edi + 0x68], ecx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov eax, dword [ecx + eax*4]
jmp eax
sbb byte [ebx - 0x4e], ch
adc esp, ebp
jno 0x437f7a
xor dword [esi - 0x39], esp
add ebx, dword [eax + eax - 0x75]
inc esp
and al, 0x58
mov ecx, dword [esp + 0x5c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, esi
xor eax, ebp
mov ecx, ebp
not ecx
and esi, ecx
mov ecx, esi
and ecx, 0xfffffffd
mov edx, esi
not edx
and edx, 2
imul edx, ecx
mov ecx, esi
and ecx, 2
or esi, 2
imul esi, ecx
add esi, edx
sub esi, eax
sar esi, 1
mov edi, esi
inc edi
xor eax, eax
mov ecx, edi
sub ecx, 1
sete al
mov dword [esp + 0x400], eax
mov eax, dword [esp + 0x404]
mov ecx, dword [esp + 0x400]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a040
mov dword [esp + 0x2b0], 0
mov eax, dword [esp + 0x2b4]
mov ecx, dword [esp + 0x2b0]
mov eax, dword [eax + ecx*4]
jmp eax
inc al
movzx eax, al
and eax, 1
mov dword [esp + 0x358], eax
mov eax, dword [esp + 0x35c]
mov ecx, dword [esp + 0x358]
mov eax, dword [eax + ecx*4]
mov edi, dword [esp + 0xc]
jmp eax
mov edx, dword [esp + 0x218]
mov edi, dword [esp + 0x21c]
mov edx, dword [edi + edx*4]
jmp edx
mov dword [esp], ebp
call fcn.00416070
lea esi, [ebp + eax*2]
mov eax, dword [esp + 0x408]
mov ecx, dword [esp + 0x40c]
mov eax, dword [ecx + eax*4]
jmp eax
mov ax, word [ebx]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x298], ecx
mov eax, dword [esp + 0x29c]
mov ecx, dword [esp + 0x298]
mov eax, dword [eax + ecx*4]
xor ebx, ebx
jmp eax
mov eax, ebx
add eax, 4
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x10c]
mov ecx, dword [edx + ecx*4]
jmp ecx
add ebp, 4
mov eax, dword [esp + 0x198]
mov ecx, dword [esp + 0x19c]
mov eax, dword [ecx + eax*4]
mov esi, ebp
jmp eax
test al, 0xa9
cmp dword [eax - 0x57db7b75], 0
add byte [eax], al
mov ecx, dword [esp + 0xac]
mov eax, dword [ecx + eax*4]
jmp eax
movzx eax, al
and eax, 1
mov dword [esp + 0x278], eax
mov eax, dword [esp + 0x27c]
mov ecx, dword [esp + 0x278]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x460]
jmp eax
out dx, eax
movsd dword es:[edi], dword [esi]
mov byte [0x295f9431], al
pushal
mov al, byte [esp + 0x18]
mov byte [esp + 0x30], al
mov dword [esp], 0x44e97414
mov dword [esp + 4], 5
call fcn.00419ab0
add eax, 0x3a
xor eax, 0x14
mov byte [esp + 0x10], al
mov dword [esp], 0x44e97414
mov dword [esp + 4], 5
call fcn.00419ab0
xor eax, 0x15
mov byte [esp + 0x11], al
mov dword [esp], 0x44e97414
mov dword [esp + 4], 5
call fcn.00419ab0
add eax, 0x5c
xor eax, 0x16
mov byte [esp + 0x12], al
mov dword [esp], 0x44e97414
mov dword [esp + 4], 5
call fcn.00419ab0
xor eax, 0x17
mov byte [esp + 0x13], al
mov dword [esp], 0x44e97414
mov dword [esp + 4], 5
call fcn.00419ab0
xor eax, 0x18
mov byte [esp + 0x14], al
mov dword [esp], 0x44e97414
mov dword [esp + 4], 5
call fcn.00419ab0
xor eax, 0x19
mov byte [esp + 0x15], al
mov eax, 6
mov byte [esp + eax + 0x10], 0
add eax, 1
cmp eax, 8
jne 0x438286
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x24]
cmp eax, 8
jae 0x4382d0
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x24]
movzx ecx, byte [esp + ecx + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043a880
mov ecx, dword [esp + 0x24]
mov byte [esp + ecx + 0x10], al
mov eax, dword [esp + 0x24]
inc eax
mov dword [esp + 0x24], eax
jmp 0x43829b
mov eax, ebx
add eax, 2
lea ecx, [esp + 0x10]
mov dword [esp + 4], ecx
mov dword [esp], eax
call fcn.00439210
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov eax, dword [ecx + eax*4]
jmp eax
add ebp, 4
mov eax, dword [esp + 0x330]
mov ecx, dword [esp + 0x334]
mov eax, dword [ecx + eax*4]
mov esi, ebp
mov ebx, dword [esp + 0x460]
mov edi, dword [esp + 0xc]
jmp eax
xor eax, eax
mov ecx, edi
sub ecx, 2
sete al
mov dword [esp + 0x3e8], eax
mov eax, dword [esp + 0x3ec]
mov ecx, dword [esp + 0x3e8]
mov eax, dword [eax + ecx*4]
jmp eax
mov edi, dword [esp + 0xc]
mov word [edi], 0x5c
add edi, 2
add ebp, 2
mov eax, dword [esp + 0x3f0]
mov ecx, dword [esp + 0x3f4]
mov eax, dword [ecx + eax*4]
mov esi, ebp
jmp eax
mov dword [esp + 8], edi
mov dword [esp + 4], ebp
mov edi, dword [esp + 0xc]
mov dword [esp], edi
call fcn.0041bbe0
lea edi, [edi + esi*2]
lea esi, [ebp + esi*2]
mov eax, dword [esp + 0x190]
mov ecx, dword [esp + 0x194]
mov eax, dword [ecx + eax*4]
mov ebx, dword [esp + 0x460]
jmp eax
mov esi, ebp
add esi, 2
mov ax, word [ebp + 2]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x3a8], ecx
mov eax, dword [esp + 0x3ac]
mov ecx, dword [esp + 0x3a8]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x1d8]
mov ecx, dword [esp + 0x1dc]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov eax, dword [ecx + eax*4]
jmp eax
mov ax, word [ebp]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [esp + 0x308], ecx
mov eax, dword [esp + 0x30c]
mov ecx, dword [esp + 0x308]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a040
mov dword [esp + 0x430], 1
mov eax, dword [esp + 0x434]
mov ecx, dword [esp + 0x430]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a040
mov dword [esp + 0x398], 1
mov eax, dword [esp + 0x39c]
mov ecx, dword [esp + 0x398]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [ebp]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x3f8], ecx
mov eax, dword [esp + 0x3fc]
mov ecx, dword [esp + 0x3f8]
mov eax, dword [eax + ecx*4]
jmp eax
mov edx, ebp
add edx, 2
mov ax, word [ebp + 2]
xor ecx, ecx
sub ax, 0x2e
sete cl
mov dword [esp + 0x300], ecx
mov eax, dword [esp + 0x304]
mov ecx, dword [esp + 0x300]
mov eax, dword [eax + ecx*4]
jmp eax
bound ebp, qword [ecx - 5]
into
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, byte [esp + 0x1a]
mov bl, al
and ebx, 1
mov dword [esp + 0x110], ebx
mov eax, dword [esp + 0x114]
mov ecx, dword [esp + 0x110]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x460]
jmp eax
call fcn.0040a040
mov word [ebx], 0x5c
mov dword [esp + 0x170], 0
mov eax, dword [esp + 0x174]
mov ecx, dword [esp + 0x170]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0xc], edi
mov dword [esp], ebp
mov dword [esp + 4], 0x5c
call fcn.004391d0
mov esi, eax
xor eax, eax
test esi, esi
sete al
mov dword [esp + 0x410], eax
mov eax, dword [esp + 0x414]
mov ecx, dword [esp + 0x410]
mov eax, dword [eax + ecx*4]
jmp eax
mov ecx, dword [esp + 0x240]
mov edx, dword [esp + 0x244]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov ax, word [ebp]
mov ecx, dword [esp + 0x3e0]
mov edx, dword [esp + 0x3e4]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov edx, dword [esp + 0x2d0]
mov esi, dword [esp + 0x2d4]
mov edx, dword [esi + edx*4]
jmp edx
mov eax, dword [esp + 0x2e8]
mov ecx, dword [esp + 0x2ec]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a040
mov ax, word [esi]
mov dword [esp + 0x248], 1
mov ecx, dword [esp + 0x24c]
mov edx, dword [esp + 0x248]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040a040
mov al, bl
inc al
mov dword [esp + 0x280], 0
mov ecx, dword [esp + 0x284]
mov edx, dword [esp + 0x280]
mov ecx, dword [ecx + edx*4]
jmp ecx
mov ecx, dword [esp + 0x360]
mov edx, dword [esp + 0x364]
mov ecx, dword [edx + ecx*4]
jmp ecx
call fcn.0040a040
xor eax, eax
mov ecx, esi
sub ecx, 0x5c
sete cl
mov dword [esp + 0x1b8], 1
mov edx, dword [esp + 0x1bc]
mov edi, dword [esp + 0x1b8]
mov edx, dword [edx + edi*4]
jmp edx
mov eax, dword [esp + 0x3b8]
mov ecx, dword [esp + 0x3bc]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a040
xor eax, eax
mov ecx, edi
sub ecx, 0x5c
sete cl
mov dword [esp + 0x220], 1
mov edx, dword [esp + 0x224]
mov ebx, dword [esp + 0x220]
mov edx, dword [edx + ebx*4]
jmp edx
mov eax, dword [esp + 0x168]
mov ecx, dword [esp + 0x16c]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a040
mov eax, esi
add eax, 0xfffffffe
mov dword [esp + 0x1f8], 0
mov ecx, dword [esp + 0x1fc]
mov edx, dword [esp + 0x1f8]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040a040
mov dword [esp + 0x438], 0
mov eax, dword [esp + 0x43c]
mov ecx, dword [esp + 0x438]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, ebx
add eax, 2
mov ecx, dword [esp + 0x140]
mov edx, dword [esp + 0x144]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xcc]
mov eax, dword [ecx + eax*4]
jmp eax
add edi, 0xfffffffe
mov eax, dword [esp + 0x340]
mov ecx, dword [esp + 0x344]
mov eax, dword [ecx + eax*4]
jmp eax
mov edx, dword [esp + 0x1b0]
mov esi, dword [esp + 0x1b4]
mov edx, dword [esi + edx*4]
jmp edx
mov ecx, dword [esp + 0x1f0]
mov edx, dword [esp + 0x1f4]
mov ecx, dword [edx + ecx*4]
mov esi, eax
jmp ecx
add edi, 0xfffffffe
mov eax, dword [esp + 0x260]
mov ecx, dword [esp + 0x264]
mov eax, dword [ecx + eax*4]
mov esi, edi
jmp eax
mov word [eax], 0x5c
mov word [ebx + 6], 0
mov eax, dword [esp + 0xe8]
mov ecx, dword [esp + 0xec]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a040
mov cx, word [ebx]
xor eax, eax
test cx, cx
sete cl
mov dword [esp + 0x390], 1
mov edx, dword [esp + 0x394]
mov edi, dword [esp + 0x390]
mov edx, dword [edx + edi*4]
jmp edx
mov al, byte [esp + 0x28]
mov byte [esp + 0x2c], al
mov dword [esp], 0x771ca46a
mov dword [esp + 4], 5
call fcn.00419ab0
mov ecx, eax
and ecx, 0x3a
shl ecx, 1
xor eax, 0x3a
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x6a
and eax, 0x95
or ecx, eax
mov byte [esp + 0x38], cl
mov dword [esp], 0x771ca46a
mov dword [esp + 4], 5
call fcn.00419ab0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x6b
and eax, 0x94
or ecx, eax
mov byte [esp + 0x39], cl
mov dword [esp], 0x771ca46a
mov dword [esp + 4], 5
call fcn.00419ab0
mov ecx, eax
and ecx, 0x5c
shl ecx, 1
xor eax, 0x5c
add eax, ecx
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x6c
and eax, 0x93
or ecx, eax
mov byte [esp + 0x3a], cl
mov dword [esp], 0x771ca46a
mov dword [esp + 4], 5
call fcn.00419ab0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x6d
and eax, 0x92
or ecx, eax
mov byte [esp + 0x3b], cl
mov dword [esp], 0x771ca46a
mov dword [esp + 4], 5
call fcn.00419ab0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x6e
and eax, 0x91
or ecx, eax
mov byte [esp + 0x3c], cl
mov dword [esp], 0x771ca46a
mov dword [esp + 4], 5
call fcn.00419ab0
mov ecx, eax
xor ecx, 0xffffffff
and ecx, 0x6f
and eax, 0x90
or ecx, eax
mov byte [esp + 0x3d], cl
mov eax, 6
mov byte [esp + eax + 0x38], 0
add eax, 1
cmp eax, 0xa
jne 0x438a17
mov dword [esp + 0x1c], 0
mov eax, dword [esp + 0x1c]
cmp eax, 0xa
jae 0x438a61
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
movzx ecx, byte [esp + ecx + 0x38]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043a860
mov ecx, dword [esp + 0x1c]
mov byte [esp + ecx + 0x38], al
mov eax, dword [esp + 0x1c]
inc eax
mov dword [esp + 0x1c], eax
jmp 0x438a2c
mov edi, ebx
add edi, 2
lea eax, [esp + 0x38]
mov dword [esp + 4], eax
mov dword [esp], edi
call fcn.00439210
xor ecx, ecx
test eax, eax
setne cl
mov dword [esp + 0x380], ecx
mov eax, dword [esp + 0x384]
mov ecx, dword [esp + 0x380]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a040
mov ax, word [edi]
test ax, ax
sete al
mov dword [esp + 0x368], 1
mov ecx, dword [esp + 0x36c]
mov edx, dword [esp + 0x368]
mov ecx, dword [ecx + edx*4]
jmp ecx
call fcn.0040a040
mov dword [esp + 0x118], 0
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x118]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a040
mov dword [esp + 0x1e8], 0
mov eax, dword [esp + 0x1ec]
mov ecx, dword [esp + 0x1e8]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a040
mov dword [esp + 0xe0], 1
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0xe0]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [ebx]
xor ecx, ecx
test ax, ax
sete cl
mov dword [esp + 0x180], ecx
mov eax, dword [esp + 0x184]
mov ecx, dword [esp + 0x180]
mov eax, dword [eax + ecx*4]
jmp eax
bound esp, qword [ebp - 8]
out 0xbe, eax
cmp eax, 0x848b2d2e
and al, 0xb0
add byte [eax], al
add byte [ebx + 0xb4248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a040
mov dword [esp + 0x288], 1
mov eax, dword [esp + 0x28c]
mov ecx, dword [esp + 0x288]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a040
mov dword [esp + 0x3c0], 0
mov eax, dword [esp + 0x3c4]
mov ecx, dword [esp + 0x3c0]
mov eax, dword [eax + ecx*4]
jmp eax
xor ebx, ebx
mov eax, edi
sub eax, 3
sete byte [esp + 0x19]
mov eax, dword [esp + 0x328]
mov ecx, dword [esp + 0x32c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x338]
mov ecx, dword [esp + 0x33c]
mov eax, dword [ecx + eax*4]
jmp eax
mov al, cl
and eax, 1
mov dword [esp + 0x388], eax
mov eax, dword [esp + 0x38c]
mov ecx, dword [esp + 0x388]
mov eax, dword [eax + ecx*4]
jmp eax
push edi
jle 0x438c9f
add eax, 0x8024848b
add byte [eax], al
add byte [ebx + 0x84248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, ebp
add eax, 4
mov ecx, dword [esp + 0x1d0]
mov edx, dword [esp + 0x1d4]
mov ecx, dword [edx + ecx*4]
jmp ecx
mov al, byte [esp + 0x19]
mov bl, al
and ebx, 1
mov dword [esp + 0x310], ebx
mov eax, dword [esp + 0x314]
mov ecx, dword [esp + 0x310]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a040
xor eax, eax
test esi, esi
sete cl
mov dword [esp + 0x2d8], 1
mov edx, dword [esp + 0x2dc]
mov edi, dword [esp + 0x2d8]
mov edx, dword [edx + edi*4]
jmp edx
xor eax, eax
mov edi, dword [esp + 0xc]
mov ecx, edi
mov ebx, dword [esp + 0x460]
sub ecx, ebx
seta al
mov dword [esp + 0x3a0], eax
mov eax, dword [esp + 0x3a4]
mov ecx, dword [esp + 0x3a0]
mov eax, dword [eax + ecx*4]
jmp eax
mov al, byte [esp + 0x18]
mov byte [esp + 0x34], al
mov dword [esp], 0x44e97414
mov dword [esp + 4], 5
call fcn.00419ab0
add eax, 0x3a
xor eax, 0x14
mov byte [esp + 0x10], al
mov dword [esp], 0x44e97414
mov dword [esp + 4], 5
call fcn.00419ab0
xor eax, 0x15
mov byte [esp + 0x11], al
mov dword [esp], 0x44e97414
mov dword [esp + 4], 5
call fcn.00419ab0
add eax, 0x5c
xor eax, 0x16
mov byte [esp + 0x12], al
mov dword [esp], 0x44e97414
mov dword [esp + 4], 5
call fcn.00419ab0
xor eax, 0x17
mov byte [esp + 0x13], al
mov dword [esp], 0x44e97414
mov dword [esp + 4], 5
call fcn.00419ab0
xor eax, 0x18
mov byte [esp + 0x14], al
mov dword [esp], 0x44e97414
mov dword [esp + 4], 5
call fcn.00419ab0
xor eax, 0x19
mov byte [esp + 0x15], al
mov eax, 6
mov byte [esp + eax + 0x10], 0
add eax, 1
cmp eax, 8
jne 0x438e17
mov dword [esp + 0x20], 0
mov eax, dword [esp + 0x20]
cmp eax, 8
jae 0x438e61
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
movzx ecx, byte [esp + ecx + 0x10]
mov dword [esp + 4], eax
mov dword [esp], ecx
call fcn.0043a880
mov ecx, dword [esp + 0x20]
mov byte [esp + ecx + 0x10], al
mov eax, dword [esp + 0x20]
inc eax
mov dword [esp + 0x20], eax
jmp 0x438e2c
mov esi, ebx
add esi, 2
lea eax, [esp + 0x10]
mov dword [esp + 4], eax
mov dword [esp], esi
call fcn.00439210
xor ecx, ecx
test eax, eax
setne al
mov dword [esp + 0x2a8], 1
mov edx, dword [esp + 0x2ac]
mov edi, dword [esp + 0x2a8]
mov edx, dword [edx + edi*4]
mov edi, dword [esp + 0xc]
jmp edx
call fcn.0040a040
mov dword [esp + 0xd8], 1
mov eax, dword [esp + 0xdc]
mov ecx, dword [esp + 0xd8]
mov eax, dword [eax + ecx*4]
jmp eax
mov ax, word [ebx]
xor ecx, ecx
sub ax, 0x5c
sete cl
mov dword [esp + 0x378], ecx
mov eax, dword [esp + 0x37c]
mov ecx, dword [esp + 0x378]
mov ecx, dword [eax + ecx*4]
xor eax, eax
jmp ecx
mov word [edi], 0
mov eax, dword [esp + 0x188]
mov ecx, dword [esp + 0x18c]
mov eax, dword [ecx + eax*4]
mov ebp, esi
jmp eax
mov ax, word [esi]
test ax, ax
sete bl
mov eax, dword [esp + 0x290]
mov ecx, dword [esp + 0x294]
mov eax, dword [ecx + eax*4]
jmp eax
call fcn.0040a040
mov dword [esp + 0x1e0], 0
mov eax, dword [esp + 0x1e4]
mov ecx, dword [esp + 0x1e0]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a040
mov dword [esp + 0x370], 0
mov eax, dword [esp + 0x374]
add byte [eax], al
add byte [ebx + 0x3742484], cl
add byte [eax], al
mov ecx, dword [esp + 0x370]
mov eax, dword [eax + ecx*4]
jmp eax
jecxz 0x438f66
push edx
cmp eax, 0x8b36ea80
test byte [eax + edi*4], ah
add byte [eax], al
add byte [ebx + 0xbc248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x1a0]
mov ecx, dword [esp + 0x1a4]
mov eax, dword [ecx + eax*4]
mov ebp, dword [esp + 0x44]
jmp eax
mov byte [0x4ebd0081], al
stosb byte es:[edi], al
mov dword [ebx - 0x67db7b75], ecx
add byte [eax], al
add byte [ebx + 0x9c248c], cl
add byte [eax], al
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x270]
mov ecx, dword [esp + 0x274]
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0xd0]
mov ecx, dword [esp + 0xd4]
mov ecx, dword [ecx + eax*4]
mov al, 1
jmp ecx
push 0x73
jmp 0x96e93f8d
mov dword [0x6f0f0a1f], esi
sbb byte fs:[ebx - 0x7487dbbc], cl
dec esp
and al, 0x7c
mov eax, dword [ecx + eax*4]
jmp eax
mov eax, dword [esp + 0x428]
mov ecx, dword [esp + 0x42c]
mov ecx, dword [ecx + eax*4]
xor eax, eax
jmp ecx
mov cl, al
and ecx, 1
mov dword [esp + 0x2a0], ecx
mov eax, dword [esp + 0x2a4]
mov ecx, dword [esp + 0x2a0]
mov eax, dword [eax + ecx*4]
jmp eax
mov dword [esp + 0x44], edx
call fcn.0040a040
mov dword [esp + 0x2f8], 0
mov eax, dword [esp + 0x2fc]
mov ecx, dword [esp + 0x2f8]
mov eax, dword [eax + ecx*4]
mov ebx, dword [esp + 0x460]
jmp eax
invalid
call fcn.0040a040
mov dword [esp + 0x250], 0
mov eax, dword [esp + 0x254]
mov ecx, dword [esp + 0x250]
mov eax, dword [eax + ecx*4]
jmp eax
mov eax, dword [esp + 0x350]
mov ecx, dword [esp + 0x354]
mov eax, dword [ecx + eax*4]
mov edi, dword [esp + 0xc]
jmp eax
inc ebp
add dl, ah
jmp 0xa8bd770
call fcn.0040a040
mov dword [esp + 0x178], 0
mov eax, dword [esp + 0x17c]
mov ecx, dword [esp + 0x178]
mov eax, dword [eax + ecx*4]
jmp eax
call fcn.0040a040
movzx esi, word [ebx]
mov dword [esp + 0x2f0], 0
mov eax, dword [esp + 0x2f4]
mov ecx, dword [esp + 0x2f0]
mov eax, dword [eax + ecx*4]
jmp eax