Function at 0x1032b70
Capabilities:
Authenticate hmac
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x810
mov eax, dword [ebp + 8]
mov dword [esp], eax
call fcn.01023ba0
mov ebx, eax
cmp ebx, 0
jne 0x1032b98
xor eax, eax
jmp 0x1034935
xor esi, esi
jmp 0x1032b9c
mov dword [esp], ebx
call fcn.01023d80
cmp esi, eax
jb 0x1032baf
mov al, 1
jmp 0x1034935
mov dword [esp], ebx
mov dword [esp + 4], esi
call fcn.01023d90
mov dword [esp + 0x38], eax
mov al, byte [esp + 0xc0]
mov byte [esp + 0x100], al
mov byte [esp + 0x270], 0x67
mov byte [esp + 0x271], 0x9b
mov eax, 2
mov byte [esp + eax + 0x270], 0
add eax, 1
cmp eax, 8
jne 0x1032be2
xor eax, eax
cmp eax, 8
jae 0x1032c35
movzx edi, byte [esp + eax + 0x270]
mov edx, 0x4be28ca4
sub edx, eax
or edx, edi
mov ecx, 0xa4
sub ecx, eax
and ecx, edi
xor edx, 0xffffffff
or ecx, edx
mov edx, ecx
and edx, 1
mov edi, 0xc7
sub edi, ecx
or edi, 1
sub edx, edi
mov byte [esp + eax + 0x270], dl
add eax, 1
jmp 0x1032bf4
lea eax, [esp + 0x270]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call fcn.01023d20
cmp eax, 0
je 0x1032da1
mov al, byte [esp + 0xbc]
mov byte [esp + 0x104], al
mov byte [esp + 0x244], 0xae
mov byte [esp + 0x245], 0xbd
mov byte [esp + 0x246], 0x32
mov eax, 3
mov byte [esp + eax + 0x244], 0
add eax, 1
cmp eax, 8
jne 0x1032c88
xor eax, eax
cmp eax, 8
jae 0x1032cda
mov dl, byte [esp + eax + 0x244]
mov edi, eax
add edi, 0xc
mov ecx, 0x73
sub ecx, eax
and ecx, 0xa1
and edi, 0x5e
or ecx, edi
xor cl, dl
xor cl, 0xa1
add cl, 0x44
mov byte [esp + eax + 0x244], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x1032c9a
lea eax, [esp + 0x244]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
call fcn.01023d20
cmp eax, 0
setne al
test al, 1
jne 0x1032d08
jmp 0x1032da1
mov al, byte [esp + 0xb8]
mov byte [esp + 0x108], al
mov byte [esp + 0x268], 0x25
mov byte [esp + 0x269], 0x81
mov eax, 2
mov byte [esp + eax + 0x268], 0
add eax, 1
cmp eax, 6
jne 0x1032d2b
xor eax, eax
cmp eax, 6
jae 0x1032d6e
movzx edx, byte [esp + eax + 0x268]
mov ecx, eax
add ecx, 0x60
mov edi, 0x9f
sub edi, eax
and edi, edx
xor edx, 0xffffffff
and ecx, edx
or ecx, edi
add cl, 0x20
mov byte [esp + eax + 0x268], cl
add eax, 1
jmp 0x1032d3d
lea eax, [esp + 0x268]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 3
call fcn.01023d20
cmp eax, 0
setne al
xor al, 0xff
and al, 1
or al, 0
xor al, 0
test al, 1
jne 0x1032da7
jmp 0x1032dac
jmp 0x1032da3
jmp 0x1032da5
jmp 0x1032da7
jmp 0x103492d
mov al, byte [esp + 0xb4]
mov byte [esp + 0x10c], al
mov byte [esp + 0x48], 0x15
mov byte [esp + 0x49], 0x89
mov eax, 2
mov byte [esp + eax + 0x48], 0
add eax, 1
cmp eax, 4
jne 0x1032dc9
mov dword [esp + 0x28], ebx
xor eax, eax
mov dword [esp + 0x34], esi
cmp eax, 4
jae 0x1032e3d
movzx ebx, byte [esp + eax + 0x48]
mov ecx, eax
add ecx, 0xddc569de
mov edx, ecx
and edx, ebx
mov esi, edx
and esi, 0xfd
mov edi, edx
and edi, 2
xor edi, 2
imul edi, esi
mov esi, edx
and esi, 2
or edx, 2
imul edx, esi
add edx, edi
mov esi, ecx
and esi, ebx
shl esi, 1
xor ecx, ebx
add ecx, esi
add ecx, 0xae
sub ecx, edx
add cl, 0xfc
mov byte [esp + eax + 0x48], cl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x1032de0
lea eax, [esp + 0x48]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.01023a90
mov edi, eax
mov al, byte [esp + 0xb0]
mov byte [esp + 0x110], al
mov byte [esp + 0x23c], 0x3e
mov byte [esp + 0x23d], 0xd
mov byte [esp + 0x23e], 0x92
mov eax, 3
mov byte [esp + eax + 0x23c], 0
add eax, 1
cmp eax, 6
jne 0x1032e7e
xor eax, eax
cmp eax, 6
jae 0x1032ec1
mov dl, byte [esp + eax + 0x23c]
mov esi, eax
shl esi, 1
and esi, 0xc8
mov ecx, eax
xor ecx, 0xe4
add ecx, esi
xor cl, dl
add cl, 0x8c
mov byte [esp + eax + 0x23c], cl
add eax, 1
jmp 0x1032e90
lea eax, [esp + 0x23c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.01023af0
fnstcw word [esp + 0x4e]
movzx eax, word [esp + 0x4e]
or eax, 0xc00
mov word [esp + 0x16a], ax
fldcw word [esp + 0x16a]
fistp dword [esp + 0x2b4]
fldcw word [esp + 0x4e]
mov ecx, dword [esp + 0x2b4]
mov al, byte [esp + 0xac]
mov byte [esp + 0x114], al
mov byte [esp + 0x260], 0x85
mov byte [esp + 0x261], 0x21
mov eax, 2
mov byte [esp + eax + 0x260], 0
add eax, 1
cmp eax, 7
jne 0x1032f2a
mov dword [esp + 0x50], ecx
xor eax, eax
cmp eax, 7
jae 0x1032f91
movzx ebx, byte [esp + eax + 0x260]
mov ecx, eax
and ecx, 0xe6e08838
xor ecx, 0xe6e08838
mov edx, eax
and edx, 0x191f77c7
sub edx, ecx
mov ecx, edx
or ecx, ebx
mov esi, ebx
add esi, 1
xor ebx, 0xffffffff
or edx, ebx
add edx, esi
mov esi, ecx
xor esi, edx
xor edx, 0xffffffff
and ecx, edx
shl ecx, 1
sub ecx, esi
add cl, 0x18
mov byte [esp + eax + 0x260], cl
add eax, 1
jmp 0x1032f40
lea eax, [esp + 0x260]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.01023af0
fnstcw word [esp + 0x4c]
movzx eax, word [esp + 0x4c]
or eax, 0xc00
mov word [esp + 0x168], ax
fldcw word [esp + 0x168]
fistp dword [esp + 0x2b0]
fldcw word [esp + 0x4c]
mov ebx, dword [esp + 0x2b0]
lea eax, [esp + 0x40c]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0x400
mov dword [esp + 8], edi
mov dword [esp + 0xc], 0
call fcn.0102cd70
lea eax, [esp + 0x40c]
lea ecx, [esp + 0x3c]
lea edx, [esp + 0x25c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0102d4a0
test al, 1
mov esi, dword [esp + 0x34]
jne 0x103302f
mov ebx, dword [esp + 0x28]
jmp 0x103492d
cmp ebx, 0
sete al
mov byte [esp + 0x47], al
test al, 1
jne 0x1033042
jmp 0x1033f46
mov al, byte [esp + 0xa8]
mov byte [esp + 0x118], al
mov byte [esp + 0x254], 0x70
mov byte [esp + 0x255], 1
mov eax, 2
mov byte [esp + eax + 0x254], 0
add eax, 1
cmp eax, 7
jne 0x1033065
xor eax, eax
cmp eax, 7
jae 0x10330ac
movzx edx, byte [esp + eax + 0x254]
mov esi, 0x7f
sub esi, eax
or esi, edx
mov ecx, eax
xor ecx, 0x7f
and ecx, edx
xor esi, 0xffffffff
or ecx, esi
mov esi, dword [esp + 0x34]
xor cl, 0x80
mov byte [esp + eax + 0x254], cl
add eax, 1
jmp 0x1033077
lea eax, [esp + 0x254]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.01023a90
cmp eax, 0
je 0x10331fb
mov dword [esp + 0x278], eax
mov dword [esp], eax
call fcn.01034980
mov ebx, eax
mov dword [esp + 0x24c], ebx
add ebx, 0x33b2d3e9
add ebx, 1
sub ebx, 0x33b2d3e9
mov ecx, 2
mov eax, ebx
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x103310b
mov ecx, eax
mov dword [esp], ecx
call fcn.0102a430
mov edi, eax
xor eax, eax
mov dword [esp], edi
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x278]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0102cd70
xor eax, eax
lea eax, [esp + 0xa4]
mov dword [esp], 0
mov dword [esp + 0x290], edi
mov dword [esp + 4], edi
mov ecx, dword [esp + 0x24c]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], eax
call dword [0xefa7f0]
sub esp, 0x18
mov eax, dword [esp + 0xa4]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x1033196
mov ecx, eax
mov dword [esp], ecx
call fcn.0102a430
mov ebx, dword [0xefa7f0]
mov ecx, dword [esp + 0xa4]
xor edx, edx
mov dword [esp], 0
mov edi, dword [esp + 0x290]
mov dword [esp + 4], edi
mov edx, dword [esp + 0x24c]
mov dword [esp + 8], edx
mov dword [esp + 0x30], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
lea eax, [esp + 0xa4]
mov dword [esp + 0x14], eax
call ebx
sub esp, 0x18
mov ebx, dword [esp + 0x28]
mov dword [esp], edi
call fcn.0102a440
mov edi, dword [esp + 0x30]
jmp 0x103368e
call fcn.0102ab20
mov esi, eax
and esi, 0xf
add esi, 0x10
xor ebx, ebx
lea edi, [esp + 0x3cc]
cmp ebx, esi
setb al
test al, 1
jne 0x10333f0
jmp 0x1033220
mov word [edi], 0
mov al, byte [esp + 0x8c]
mov byte [esp + 0x11c], al
mov byte [esp + 0x90], 0x2b
mov byte [esp + 0x91], 7
mov byte [esp + 0x92], 0x5a
mov byte [esp + 0x93], 1
mov byte [esp + 0x94], 0x4f
mov byte [esp + 0x95], 3
mov byte [esp + 0x96], 0x55
mov byte [esp + 0x97], 0xd
mov byte [esp + 0x98], 0x5c
mov byte [esp + 0x99], 0xf
mov byte [esp + 0x9a], 0x21
mov byte [esp + 0x9b], 9
mov byte [esp + 0x9c], 0x6c
mov byte [esp + 0x9d], 0xb
mov byte [esp + 0x9e], 0xa
mov byte [esp + 0x9f], 0x15
mov eax, 0x10
mov byte [esp + eax + 0x90], 0
add eax, 1
cmp eax, 0x11
jne 0x10332b8
xor eax, eax
cmp eax, 0x11
jae 0x10332f8
mov dl, byte [esp + eax + 0x90]
mov esi, eax
shl esi, 1
and esi, 2
mov ecx, eax
xor ecx, 0x81
add ecx, esi
xor cl, dl
add cl, 0x7b
mov byte [esp + eax + 0x90], cl
add eax, 1
jmp 0x10332ca
lea eax, [esp + 0x36c]
lea ecx, [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0102bfe0
lea ecx, [esp + 0x3cc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0102bfe0
mov ebx, eax
lea eax, [esp + 0x36c]
xor eax, 0xffffffff
add ebx, eax
add ebx, 1
sar ebx, 1
xor eax, eax
lea eax, [esp + 0x36c]
lea ecx, [esp + 0x88]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], ecx
call dword [0xefa7f0]
sub esp, 0x18
mov eax, dword [esp + 0x88]
xor ecx, ecx
sub ecx, eax
add ecx, 0xfffffffc
xor eax, eax
sub eax, ecx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x103339c
mov ecx, eax
mov dword [esp], ecx
call fcn.0102a430
mov edi, eax
mov eax, dword [0xefa7f0]
mov ecx, dword [esp + 0x88]
xor edx, edx
lea edx, [esp + 0x36c]
lea esi, [esp + 0x88]
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
call eax
sub esp, 0x18
mov eax, dword [esp + 0x50]
cmp eax, 0
je 0x103341f
jmp 0x10334dc
call fcn.0102ab20
mov ecx, 0x24
cdq
idiv ecx
movsx eax, byte [edx + 0xef0b92]
mov ecx, edi
add ecx, 2
mov word [edi], ax
xor eax, eax
sub eax, ebx
add eax, 0xffffffff
xor ebx, ebx
sub ebx, eax
mov edi, ecx
jmp 0x1033211
mov ebx, dword [esp + 0x28]
mov al, byte [esp + 0x84]
mov byte [esp + 0x120], al
mov byte [esp + 0x22c], 6
mov byte [esp + 0x22d], 0x31
mov byte [esp + 0x22e], 0x5f
mov byte [esp + 0x22f], 0x33
mov byte [esp + 0x230], 0x44
mov byte [esp + 0x231], 0x3d
mov byte [esp + 0x232], 0x53
mov byte [esp + 0x233], 0x3f
mov byte [esp + 0x234], 0x38
mov byte [esp + 0x235], 0x39
mov eax, 0xa
mov esi, dword [esp + 0x34]
mov byte [esp + eax + 0x22c], 0
add eax, 1
cmp eax, 0x10
jne 0x103348a
jmp 0x103349c
xor eax, eax
jmp 0x10334a0
cmp eax, 0x10
jae 0x10334c2
mov cl, byte [esp + eax + 0x22c]
mov dl, al
add dl, 0x34
xor dl, cl
add dl, 0xfc
mov byte [esp + eax + 0x22c], dl
add eax, 1
jmp 0x10334a0
jmp 0x10334c4
lea eax, [esp + 0x22c]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.01034d60
jmp 0x103368c
cmp eax, 1
mov ebx, dword [esp + 0x28]
jne 0x10335b2
mov al, byte [esp + 0x80]
mov byte [esp + 0x124], al
mov byte [esp + 0x21c], 0x26
mov byte [esp + 0x21d], 0xf1
mov byte [esp + 0x21e], 0x6e
mov byte [esp + 0x21f], 0xf3
mov byte [esp + 0x220], 0x78
mov byte [esp + 0x221], 0xed
mov byte [esp + 0x222], 0x7a
mov byte [esp + 0x223], 0xef
mov byte [esp + 0x224], pe_nt_image_headers32
mov byte [esp + 0x225], 0xe9
mov eax, 0xa
mov byte [esp + eax + 0x21c], 0
add eax, 1
cmp eax, 0xe
jne 0x103354c
xor eax, eax
cmp eax, 0xe
jae 0x1033596
mov dl, byte [esp + eax + 0x21c]
movzx esi, dl
mov ecx, eax
add ecx, 0x44d915ac
mov dword [esp + 0x30], edi
mov edi, ecx
and edi, esi
shl edi, 1
sub ecx, edi
mov edi, dword [esp + 0x30]
add cl, dl
add cl, 0xa4
mov byte [esp + eax + 0x21c], cl
add eax, 1
jmp 0x103355e
lea eax, [esp + 0x21c]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.01034d60
mov esi, dword [esp + 0x34]
jmp 0x103368c
cmp eax, 2
sete al
mov esi, dword [esp + 0x34]
test al, 1
jne 0x10335c5
jmp 0x103368c
mov al, byte [esp + 0x7c]
mov byte [esp + 0x128], al
mov byte [esp + 0x20c], 0x52
mov byte [esp + 0x20d], 0x27
mov byte [esp + 0x20e], 0x96
mov byte [esp + 0x20f], 0x21
mov byte [esp + 0x210], 0xad
mov byte [esp + 0x211], 0x23
mov byte [esp + 0x212], 0x51
mov byte [esp + 0x213], 0x3d
mov byte [esp + 0x214], 0x3c
mov byte [esp + 0x215], 0x3f
mov eax, 0xa
mov byte [esp + eax + 0x20c], 0
add eax, 1
cmp eax, 0xe
jne 0x1033625
xor eax, eax
jmp 0x1033639
cmp eax, 0xe
jae 0x1033677
movzx edx, byte [esp + eax + 0x20c]
mov ecx, eax
add ecx, 0x2b62a189
mov esi, ecx
and esi, edx
shl esi, 1
add ecx, edx
mov edx, ecx
sub edx, esi
mov esi, dword [esp + 0x34]
shl ecx, 1
and ecx, 2
xor edx, 1
add edx, 0x52
add edx, ecx
mov byte [esp + eax + 0x20c], dl
add eax, 1
jmp 0x1033639
lea eax, [esp + 0x20c]
mov dword [esp], edi
mov dword [esp + 4], eax
call fcn.01034d60
jmp 0x103368c
jmp 0x103368e
lea eax, [esp + 0x250]
xor ecx, ecx
mov dword [esp + 0x30], edi
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], 0x100002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 5
mov dword [esp + 0x14], 0x60
mov dword [esp + 0x18], 0x80
call fcn.0105f960
mov edi, eax
cmp eax, 0
jl 0x10337fd
mov eax, dword [esp + 0x25c]
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x250]
xor esi, esi
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0105ffd0
mov edi, eax
mov eax, dword [esp + 0x250]
mov dword [esp + 0x2a0], eax
mov al, byte [esp + 0xf4]
mov byte [esp + 0x154], al
mov byte [esp + 0xf8], 0x77
mov byte [esp + 0xf9], 0x76
mov byte [esp + 0xfa], 0x75
mov byte [esp + 0xfb], 0x74
mov eax, 4
mov byte [esp + eax + 0xf8], 0
add eax, 1
cmp eax, 5
jne 0x1033749
xor eax, eax
mov esi, dword [esp + 0x34]
cmp eax, 5
jae 0x1033781
mov cl, byte [esp + eax + 0xf8]
mov dl, al
add dl, 0x94
xor dl, cl
add dl, 0x1c
mov byte [esp + eax + 0xf8], dl
add eax, 1
jmp 0x103375f
mov ecx, dword [esp + 0xf8]
xor ebx, ebx
cmp ebx, dword [0xefa7f4]
jb 0x1033794
jmp 0x10337f9
mov eax, dword [0xefa7f8]
cmp dword [eax + ebx*8], 0xb62b8d10
sete dl
test dl, 1
jne 0x10337aa
jmp 0x10337ed
mov eax, dword [eax + ebx*8 + 4]
cmp eax, ecx
je 0x10337ed
mov dword [esp + 0x28c], ecx
mov ecx, dword [0xefa7fc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x2a0]
mov dword [esp + 0xc], eax
mov byte [esp + 0x43], dl
call fcn.0105c1a0
mov dl, byte [esp + 0x43]
mov ecx, dword [esp + 0x28c]
test dl, 1
je 0x10337f4
jmp 0x10337f9
add ebx, 1
jmp 0x103378a
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.01059070
mov dword [esp + 0x3c], 0
cmp edi, 0
setge al
test al, 1
mov ecx, dword [esp + 0x50]
mov edi, dword [esp + 0x30]
jne 0x1033837
jmp 0x1033825
mov dword [esp + 0x2c], 0
mov eax, 4
jmp 0x1033f38
cmp ecx, 1
jne 0x1033c09
mov al, byte [esp + 0x78]
mov byte [esp + 0x12c], al
mov byte [esp + 0x204], 0xb2
mov byte [esp + 0x205], 0xab
mov byte [esp + 0x206], 0x1e
mov eax, 3
mov byte [esp + eax + 0x204], 0
add eax, 1
cmp eax, 7
jne 0x1033868
xor eax, eax
jmp 0x103387c
cmp eax, 7
jae 0x10338c1
movzx edx, byte [esp + eax + 0x204]
mov ecx, eax
add ecx, 0x26c8a37a
mov esi, edx
xor esi, 0xffffffff
and ecx, esi
mov esi, 0x85
sub esi, eax
and esi, edx
or ecx, esi
mov edx, ecx
shl edx, 1
and edx, 0x3a
xor ecx, 0x9d
add ecx, edx
add cl, 1
mov byte [esp + eax + 0x204], cl
add eax, 1
jmp 0x103387c
lea eax, [esp + 0x204]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.01023a90
mov dword [esp + 0x58], eax
mov al, byte [esp + 0x74]
mov byte [esp + 0x130], al
mov byte [esp + 0x1fc], 0x53
mov byte [esp + 0x1fd], 0x45
mov byte [esp + 0x1fe], 0xca
mov eax, 3
mov byte [esp + eax + 0x1fc], 0
add eax, 1
cmp eax, 5
jne 0x1033904
xor eax, eax
jmp 0x1033918
cmp eax, 5
jae 0x103394c
mov dl, byte [esp + eax + 0x1fc]
movzx esi, dl
mov ecx, eax
add ecx, 0x47993ad3
mov ebx, edi
mov edi, ecx
and edi, esi
shl edi, 1
sub ecx, edi
mov edi, ebx
add cl, dl
add cl, 0xe1
mov byte [esp + eax + 0x1fc], cl
add eax, 1
jmp 0x1033918
lea eax, [esp + 0x1fc]
mov ecx, dword [esp + 0x38]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.01023a90
mov esi, eax
mov dword [esp], edi
call fcn.01034db0
mov ebx, eax
cmp dword [esp + 0x58], 0
setne al
mov dword [esp + 0x54], 0
mov byte [esp + 0x45], al
test al, 1
jne 0x1033989
jmp 0x103399e
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.01034950
add eax, 1
mov dword [esp + 0x54], eax
jmp 0x103399e
cmp esi, 0
setne cl
xor eax, eax
mov byte [esp + 0x46], cl
test cl, 1
jne 0x10339b1
jmp 0x10339bc
mov dword [esp], esi
call fcn.01034950
add eax, 1
add ebx, 0x86a9b773
add ebx, 0x79564896
mov ecx, dword [esp + 0x54]
xor ecx, 0xffffffff
sub ecx, 0xffffffff
sub ebx, ecx
xor ecx, ecx
mov dword [esp + 0x2a8], eax
sub ecx, eax
sub ebx, ecx
xor ecx, ecx
sub ecx, ebx
add ecx, 0xffffffff
xor eax, eax
sub eax, ecx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x1033a02
mov ecx, eax
mov dword [esp], ecx
call fcn.0102a430
mov dword [esp + 0x2c], eax
mov al, byte [esp + 0x70]
mov byte [esp + 0x134], al
mov byte [esp + 0x1e4], 0x16
mov byte [esp + 0x1e5], 0x99
mov byte [esp + 0x1e6], 0x1b
mov byte [esp + 0x1e7], 0x97
mov byte [esp + 0x1e8], 6
mov byte [esp + 0x1e9], 0x95
mov byte [esp + 0x1ea], 0xe
mov byte [esp + 0x1eb], 0x93
mov byte [esp + 0x1ec], 4
mov byte [esp + 0x1ed], 0x91
mov byte [esp + 0x1ee], 0x1a
mov byte [esp + 0x1ef], 0x8f
mov byte [esp + 0x1f0], 0xc3
mov byte [esp + 0x1f1], 0x8d
mov byte [esp + 0x1f2], 0xc4
mov byte [esp + 0x1f3], 0x8b
mov byte [esp + 0x1f4], 0x88
mov byte [esp + 0x1f5], 0x89
mov eax, 0x12
mov byte [esp + eax + 0x1e4], 0
add eax, 1
cmp eax, 0x18
jne 0x1033aae
mov dword [esp + 0x2ac], esi
xor eax, eax
cmp eax, 0x18
jae 0x1033b3a
movzx ecx, byte [esp + eax + 0x1e4]
mov ebx, eax
and ebx, 0xc59bcea4
mov esi, eax
and esi, 0xc59bcea4
mov edx, eax
and edx, 2
xor edx, 2
imul edx, esi
mov esi, eax
and esi, 2
or ebx, 2
imul ebx, esi
add ebx, edx
mov edx, eax
xor edx, 0xc59bcea6
add edx, ebx
mov esi, edx
and esi, ecx
shl esi, 1
add edx, ecx
sub edx, esi
mov ecx, edx
shl ecx, 1
and ecx, 0x82
xor edx, 0xc1
add edx, ecx
add dl, 1
mov byte [esp + eax + 0x1e4], dl
mov ecx, eax
shl ecx, 1
and ecx, 2
xor eax, 1
add eax, ecx
jmp 0x1033ac7
lea eax, [esp + 0x1e4]
mov ecx, dword [esp + 0x2c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0102bfe0
mov ecx, eax
add ecx, 2
mov word [eax], 0x20
add ecx, 2
mov word [eax + 2], 0x22
mov dword [esp], ecx
mov dword [esp + 4], edi
call fcn.0102bfe0
mov ebx, eax
add ebx, 2
mov word [eax], 0x22
mov esi, dword [esp + 0x34]
mov dword [esp], edi
call fcn.0102a440
test byte [esp + 0x45], 1
jne 0x1033b8f
jmp 0x1033bc1
mov edi, ebx
add edi, 2
mov word [ebx], 0x2c
xor eax, eax
mov dword [esp], edi
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0102cd70
shl eax, 1
add edi, eax
mov ebx, edi
test byte [esp + 0x46], 1
jne 0x1033bca
jmp 0x1033bfc
mov eax, ebx
add eax, 2
mov word [ebx], 0x2c
xor ecx, ecx
mov dword [esp], eax
mov eax, dword [esp + 0x2a8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x2ac]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0102cd70
xor edi, edi
xor ecx, ecx
mov ebx, dword [esp + 0x28]
jmp 0x1033f34
mov dword [esp + 0x2c], 0
cmp ecx, 2
je 0x1033c1b
jmp 0x1033f34
mov dword [esp], edi
call fcn.01034db0
xor eax, 0xffffffff
sub eax, 0xffffffff
mov ecx, 0x1d
sub ecx, eax
add ecx, 1
mov edx, 2
mov eax, ecx
mul edx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x1033c4b
mov ecx, eax
mov dword [esp], ecx
call fcn.0102a430
mov dword [esp + 0x2c], eax
mov al, byte [esp + 0x64]
mov byte [esp + 0x138], al
mov byte [esp + 0x68], 0x6e
mov byte [esp + 0x69], 0x49
mov byte [esp + 0x6a], 0x4e
mov byte [esp + 0x6b], 0x4f
mov eax, 4
mov byte [esp + eax + 0x68], 0
add eax, 1
cmp eax, 8
jne 0x1033c7b
xor eax, eax
cmp eax, 8
jae 0x1033cb3
mov dl, byte [esp + eax + 0x68]
mov esi, eax
and esi, 0x6e
xor esi, 0x6e
mov ecx, eax
and ecx, 0x91
sub ecx, esi
xor cl, dl
add cl, 0x26
mov byte [esp + eax + 0x68], cl
add eax, 1
jmp 0x1033c8a
mov al, byte [esp + 0x60]
mov byte [esp + 0x13c], al
mov byte [esp + 0x16c], 0xc
mov byte [esp + 0x16d], 0x9f
mov byte [esp + 0x16e], 0xf
mov byte [esp + 0x16f], 0x91
mov byte [esp + 0x170], 0x19
mov byte [esp + 0x171], 0x93
mov byte [esp + 0x172], 0x35
mov byte [esp + 0x173], 0x95
mov byte [esp + 0x174], 6
mov byte [esp + 0x175], 0x97
mov byte [esp + 0x176], 3
mov byte [esp + 0x177], 0x89
mov byte [esp + 0x178], 0x10
mov byte [esp + 0x179], 0x8b
mov byte [esp + 0x17a], 0x2d
mov byte [esp + 0x17b], 0x8d
mov byte [esp + 0x17c], 0x10
mov byte [esp + 0x17d], 0x8f
mov byte [esp + 0x17e], 0x12
mov byte [esp + 0x17f], 0x81
mov byte [esp + 0x180], 0xe0
mov byte [esp + 0x181], 0x83
mov byte [esp + 0x182], 0xdd
mov byte [esp + 0x183], 0x85
mov byte [esp + 0x184], 0x23
mov byte [esp + 0x185], 0x87
mov byte [esp + 0x186], 0xe
mov byte [esp + 0x187], 0xf9
mov byte [esp + 0x188], 0x5f
mov byte [esp + 0x189], 0xfb
mov byte [esp + 0x18a], 0x5f
mov byte [esp + 0x18b], 0xfd
mov byte [esp + 0x18c], 0x9c
mov byte [esp + 0x18d], 0xff
mov byte [esp + 0x18e], 0x5c
mov byte [esp + 0x18f], 0xf1
mov byte [esp + 0x190], 0x7b
mov byte [esp + 0x191], 0xf3
mov byte [esp + 0x192], 0x62
mov byte [esp + 0x193], 0xf5
mov byte [esp + 0x194], 0x57
mov byte [esp + 0x195], 0xf7
mov byte [esp + 0x196], 0x63
mov byte [esp + 0x197], 0xe9
mov byte [esp + 0x198], 0x7d
mov byte [esp + 0x199], 0xeb
mov byte [esp + 0x19a], 0x8a
mov byte [esp + 0x19b], 0xed
mov byte [esp + 0x19c], 0xb3
mov byte [esp + 0x19d], 0xef
mov byte [esp + 0x19e], 0x48
mov byte [esp + 0x19f], 0xe1
mov byte [esp + 0x1a0], 0x80
mov byte [esp + 0x1a1], 0xe3
mov byte [esp + 0x1a2], 0x80
mov byte [esp + 0x1a3], 0xe5
mov byte [esp + 0x1a4], 0xe4
mov byte [esp + 0x1a5], 0xe7
mov eax, 0x3a
mov byte [esp + eax + 0x16c], 0
add eax, 1
cmp eax, 0x3d
jne 0x1033e93
xor eax, eax
cmp eax, 0x3d
jae 0x1033ef6
movzx edx, byte [esp + eax + 0x16c]
mov ecx, eax
add ecx, 0xc23c3ea5
xor ecx, edx
mov esi, ecx
shl esi, 1
and esi, 0x8c
mov edx, ecx
xor edx, 0xc6
add edx, esi
mov esi, edi
mov edi, ecx
shl edi, 1
and edi, 2
shl ecx, 1
and ecx, 2
add ecx, 0xff
sub edx, ecx
add edx, edi
mov edi, esi
mov byte [esp + eax + 0x16c], dl
add eax, 1
jmp 0x1033ea5
lea eax, [esp + 0x16c]
mov ecx, dword [esp + 0x2c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0102bfe0
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.0102bfe0
lea ecx, [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.0102bfe0
mov esi, dword [esp + 0x34]
mov ecx, 2
jmp 0x1033f34
xor eax, eax
jmp 0x1033f38
cmp eax, 0
je 0x103422a
jmp 0x103492d
call fcn.01034dd0
xor ebx, 1
mov ecx, dword [esp + 0x50]
mov eax, ecx
xor eax, 2
or ebx, eax
sete al
mov dword [esp + 0x2c], 0
test al, 1
jne 0x1033f73
xor edi, edi
mov ebx, dword [esp + 0x28]
jmp 0x103422a
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.01034980
mov ebx, eax
and ebx, 1
or eax, 1
add ebx, eax
mov ecx, 2
mov eax, ebx
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x1033fa1
mov ecx, eax
mov dword [esp], ecx
call fcn.0102a430
mov edi, eax
mov eax, dword [esp + 0x3c]
xor ecx, ecx
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.0102cd70
mov eax, dword [esp + 0x25c]
add eax, 0x18
add eax, 0xa1fa64bd
add eax, 1
sub eax, 0xa1fa64bd
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0x1033ff6
mov ecx, eax
mov dword [esp], ecx
call fcn.0102a430
mov dword [esp + 0x2c], eax
mov al, byte [esp + 0x5c]
mov byte [esp + 0x140], al
mov byte [esp + 0x1ac], 0xd8
mov byte [esp + 0x1ad], 0x49
mov byte [esp + 0x1ae], 0xdd
mov byte [esp + 0x1af], 0x4f
mov byte [esp + 0x1b0], 0xc7
mov byte [esp + 0x1b1], 0x4d
mov byte [esp + 0x1b2], 0xa7
mov byte [esp + 0x1b3], 0x43
mov byte [esp + 0x1b4], 0xd6
mov byte [esp + 0x1b5], 0x41
mov byte [esp + 0x1b6], 0xd1
mov byte [esp + 0x1b7], 0x47
mov byte [esp + 0x1b8], 0xdc
mov byte [esp + 0x1b9], 0x45
mov byte [esp + 0x1ba], 0x9f
mov byte [esp + 0x1bb], 0x7b
mov byte [esp + 0x1bc], 0xe4
mov byte [esp + 0x1bd], 0x79
mov byte [esp + 0x1be], 0xe2
mov byte [esp + 0x1bf], 0x7f
mov byte [esp + 0x1c0], 0x5c
mov byte [esp + 0x1c1], 0x7d
mov byte [esp + 0x1c2], 0xaf
mov byte [esp + 0x1c3], 0x73
mov byte [esp + 0x1c4], 0x95
mov byte [esp + 0x1c5], 0x71
mov byte [esp + 0x1c6], 0xfe
mov byte [esp + 0x1c7], 0x77
mov byte [esp + 0x1c8], 0x91
mov byte [esp + 0x1c9], 0x75
mov byte [esp + 0x1ca], 0x8d
mov byte [esp + 0x1cb], 0x6b
mov byte [esp + 0x1cc], 0x48
mov byte [esp + 0x1cd], 0x69
mov byte [esp + 0x1ce], 0x88
mov byte [esp + 0x1cf], 0x6f
mov byte [esp + 0x1d0], 0xe5
mov byte [esp + 0x1d1], 0x6d
mov byte [esp + 0x1d2], 0xf2
mov byte [esp + 0x1d3], 0x63
mov byte [esp + 0x1d4], 0x81
mov byte [esp + 0x1d5], 0x61
mov byte [esp + 0x1d6], 0xf1
mov byte [esp + 0x1d7], 0x67
mov byte [esp + 0x1d8], 0xf3
mov byte [esp + 0x1d9], 0x65
mov byte [esp + 0x1da], 0x3a
mov byte [esp + 0x1db], 0x1b
mov byte [esp + 0x1dc], 0x18
mov byte [esp + 0x1dd], 0x19
mov eax, 0x32
mov byte [esp + eax + 0x1ac], 0
add eax, 1
cmp eax, 0x36
jne 0x10341a2
xor eax, eax
cmp eax, 0x36
jae 0x10341f1
mov dl, byte [esp + eax + 0x1ac]
movzx esi, dl
mov ecx, eax
add ecx, 0xbb3ff892
mov ebx, ecx
and ebx, esi
mov esi, dword [esp + 0x34]
shl ebx, 1
sub ecx, ebx
add cl, dl
add cl, 0x26
mov byte [esp + eax + 0x1ac], cl
mov ecx, eax
xor ecx, 1
shl eax, 1
and eax, 2
add eax, ecx
jmp 0x10341b4
lea eax, [esp + 0x1ac]
mov ecx, dword [esp + 0x2c]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0102bfe0
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.0102bfe0
mov ebx, dword [esp + 0x28]
mov dword [esp], edi
call fcn.0102a440
mov ecx, dword [esp + 0x50]
jmp 0x1034226
xor edi, edi
jmp 0x103422a
test ecx, ecx
je 0x103424b
jmp 0x1034230
mov eax, ecx
sub eax, 1
je 0x10343fc
jmp 0x103423d
sub ecx, 2
je 0x1034675
jmp 0x10348f6
test byte [esp + 0x47], 1
jne 0x1034257
jmp 0x10343fc
jmp 0x1034259
lea eax, [esp + 0x328]
xor ecx, ecx
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 0x44
call fcn.0102a4b0
mov dword [esp + 0x328], 0x44
mov eax, dword [0xefa7e8]
mov dword [esp], eax
mov dword [esp + 4], 0x38c42730
call fcn.0105f180
test eax, eax
setne cl
xor ecx, ecx
lea edx, [esp + 0x2d4]
mov dword [esp], edi
mov ecx, dword [esp + 0x2c]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
lea ecx, [esp + 0x328]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
call eax
sub esp, 0x28
cmp eax, 0
je 0x10343f7
mov eax, dword [esp + 0x2d4]
mov dword [esp + 0x298], eax
mov al, byte [esp + 0xe8]
mov byte [esp + 0x158], al
mov byte [esp + 0xec], 0x77
mov byte [esp + 0xed], 0x76
mov byte [esp + 0xee], 0x75
mov byte [esp + 0xef], 0x74
mov eax, 4
mov byte [esp + eax + 0xec], 0
add eax, 1
cmp eax, 5
jne 0x1034341
xor eax, eax
cmp eax, 5
jae 0x1034375
mov cl, byte [esp + eax + 0xec]
mov dl, al
add dl, 0x94
xor dl, cl
add dl, 0x1c
mov byte [esp + eax + 0xec], dl
add eax, 1
jmp 0x1034353
mov dword [esp + 0x30], edi
mov ecx, dword [esp + 0xec]
xor edi, edi
cmp edi, dword [0xefa7f4]
jb 0x103438c
jmp 0x10343f1
mov eax, dword [0xefa7f8]
cmp dword [eax + edi*8], 0xb62b8d10
sete bl
test bl, 1
jne 0x10343a2
jmp 0x10343dd
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x10343dd
mov dword [esp + 0x27c], ecx
mov ecx, dword [0xefa7fc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x298]
mov dword [esp + 0xc], eax
call fcn.0105c1a0
mov ecx, dword [esp + 0x27c]
test bl, 1
je 0x10343e8
mov ebx, dword [esp + 0x28]
jmp 0x10343f1
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x1034382
mov edi, dword [esp + 0x30]
jmp 0x10343f7
jmp 0x10348f6
mov dword [esp + 0x30], edi
mov eax, dword [0xefa7e8]
mov dword [esp], eax
mov dword [esp + 4], 0xe117db1e
call fcn.0105f180
mov edi, eax
cmp edi, 0
setne bl
test bl, 1
jne 0x1034424
jmp 0x1034424
call fcn.01034dd0
call fcn.01034dd0
test bl, 1
jne 0x1034435
xor edi, edi
mov eax, dword [esp + 0x3c]
xor ecx, ecx
lea ecx, [0xecdd20]
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call edi
sub esp, 0x18
mov edi, eax
cmp edi, 0
setne al
mov ebx, dword [esp + 0x28]
test al, 1
jne 0x1034482
jmp 0x103466c
call fcn.01034dd0
mov dword [esp + 0x2bc], 0xffffffff
mov dword [esp + 0x2b8], 0xdc3cba00
mov al, byte [esp + 0x144]
mov byte [esp + 0x150], al
mov byte [esp + 0x148], 0x77
mov byte [esp + 0x149], 0x76
mov byte [esp + 0x14a], 0x75
mov byte [esp + 0x14b], 0x74
mov eax, 4
mov byte [esp + eax + 0x148], 0
add eax, 1
cmp eax, 5
jne 0x10344d0
xor eax, eax
cmp eax, 5
jae 0x1034504
mov cl, byte [esp + eax + 0x148]
mov dl, al
add dl, 0x94
xor dl, cl
add dl, 0x1c
mov byte [esp + eax + 0x148], dl
add eax, 1
jmp 0x10344e2
mov ecx, dword [esp + 0x148]
xor ebx, ebx
cmp ebx, dword [0xefa7f4]
jb 0x1034517
jmp 0x103458c
mov eax, dword [0xefa7f8]
cmp dword [eax + ebx*8], 0x4e66b5a3
sete dl
test dl, 1
jne 0x103452d
jmp 0x1034580
mov eax, dword [eax + ebx*8 + 4]
cmp eax, ecx
jne 0x1034537
jmp 0x1034580
mov dword [esp + 0x294], ecx
mov ecx, dword [0xefa7fc]
mov byte [esp + 0x44], dl
xor edx, edx
lea edx, [esp + 0x2b8]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 0xc
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], edx
call fcn.0105c1a0
mov dl, byte [esp + 0x44]
mov ecx, dword [esp + 0x294]
test dl, 1
je 0x1034587
jmp 0x103458c
add ebx, 1
jmp 0x103450d
mov al, byte [esp + 0xdc]
mov byte [esp + 0x15c], al
mov byte [esp + 0xe0], 0x77
mov byte [esp + 0xe1], 0x76
mov byte [esp + 0xe2], 0x75
mov byte [esp + 0xe3], 0x74
mov eax, 4
mov byte [esp + eax + 0xe0], 0
add eax, 1
cmp eax, 5
jne 0x10345bf
xor eax, eax
cmp eax, 5
jae 0x10345f3
mov cl, byte [esp + eax + 0xe0]
mov dl, al
add dl, 0x94
xor dl, cl
add dl, 0x1c
mov byte [esp + eax + 0xe0], dl
add eax, 1
jmp 0x10345d1
mov ecx, dword [esp + 0xe0]
xor ebx, ebx
cmp ebx, dword [0xefa7f4]
jb 0x1034606
jmp 0x1034664
mov eax, dword [0xefa7f8]
cmp dword [eax + ebx*8], 0xb62b8d10
sete dl
test dl, 1
jne 0x103461c
jmp 0x1034658
mov eax, dword [eax + ebx*8 + 4]
cmp eax, ecx
je 0x1034658
mov dword [esp + 0x280], ecx
mov ecx, dword [0xefa7fc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov dword [esp + 0xc], edi
mov byte [esp + 0x42], dl
call fcn.0105c1a0
mov dl, byte [esp + 0x42]
mov ecx, dword [esp + 0x280]
test dl, 1
je 0x103465f
jmp 0x1034664
add ebx, 1
jmp 0x10345fc
mov ebx, dword [esp + 0x28]
jmp 0x103466a
jmp 0x103466c
mov edi, dword [esp + 0x30]
jmp 0x10348f6
mov dword [esp + 0x30], edi
lea edi, [esp + 0x2e4]
xor eax, eax
mov ecx, 0x11
rep stosd dword es:[edi], eax
mov dword [esp + 0x2e4], 0x44
mov eax, dword [0xefa7e8]
mov dword [esp], eax
mov dword [esp + 4], 0x38c42730
call fcn.0105f180
test eax, eax
setne cl
xor ecx, ecx
lea ecx, [esp + 0x2e4]
lea edx, [esp + 0x2c4]
mov dword [esp], 0
mov edi, dword [esp + 0x2c]
mov dword [esp + 4], edi
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x8000000
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
call eax
sub esp, 0x28
cmp eax, 0
je 0x10348f2
lea eax, [esp + 0x2c4]
add eax, 4
mov eax, dword [eax]
mov dword [esp + 0x29c], eax
mov al, byte [esp + 0xd0]
mov byte [esp + 0x160], al
mov byte [esp + 0xd4], 0x77
mov byte [esp + 0xd5], 0x76
mov byte [esp + 0xd6], 0x75
mov byte [esp + 0xd7], 0x74
mov eax, 4
mov byte [esp + eax + 0xd4], 0
add eax, 1
cmp eax, 5
jne 0x1034759
xor eax, eax
cmp eax, 5
jae 0x103478d
mov cl, byte [esp + eax + 0xd4]
mov dl, al
add dl, 0x94
xor dl, cl
add dl, 0x1c
mov byte [esp + eax + 0xd4], dl
add eax, 1
jmp 0x103476b
mov ecx, dword [esp + 0xd4]
xor edi, edi
cmp edi, dword [0xefa7f4]
jb 0x10347a0
jmp 0x1034805
mov eax, dword [0xefa7f8]
cmp dword [eax + edi*8], 0xb62b8d10
sete bl
test bl, 1
jne 0x10347b6
jmp 0x10347f1
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x10347f1
mov dword [esp + 0x288], ecx
mov ecx, dword [0xefa7fc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x29c]
mov dword [esp + 0xc], eax
call fcn.0105c1a0
mov ecx, dword [esp + 0x288]
test bl, 1
je 0x10347fc
mov ebx, dword [esp + 0x28]
jmp 0x1034805
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x1034796
mov eax, dword [esp + 0x2c4]
mov dword [esp + 0x2a4], eax
mov al, byte [esp + 0xc4]
mov byte [esp + 0x164], al
mov byte [esp + 0xc8], 0x77
mov byte [esp + 0xc9], 0x76
mov byte [esp + 0xca], 0x75
mov byte [esp + 0xcb], 0x74
mov eax, 4
mov byte [esp + eax + 0xc8], 0
add eax, 1
cmp eax, 5
jne 0x1034846
xor eax, eax
cmp eax, 5
jae 0x103487a
mov cl, byte [esp + eax + 0xc8]
mov dl, al
add dl, 0x94
xor dl, cl
add dl, 0x1c
mov byte [esp + eax + 0xc8], dl
add eax, 1
jmp 0x1034858
mov ecx, dword [esp + 0xc8]
xor edi, edi
cmp edi, dword [0xefa7f4]
jb 0x103488d
jmp 0x10348f2
mov eax, dword [0xefa7f8]
cmp dword [eax + edi*8], 0xb62b8d10
sete bl
test bl, 1
jne 0x10348a3
jmp 0x10348de
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0x10348de
mov dword [esp + 0x284], ecx
mov ecx, dword [0xefa7fc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 4
mov eax, dword [esp + 0x2a4]
mov dword [esp + 0xc], eax
call fcn.0105c1a0
mov ecx, dword [esp + 0x284]
test bl, 1
je 0x10348e9
mov ebx, dword [esp + 0x28]
jmp 0x10348f2
add edi, 1
mov ebx, dword [esp + 0x28]
jmp 0x1034883
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.01059070
cmp edi, 0
sete al
test al, 1
jne 0x1034916
jmp 0x103490e
mov dword [esp], edi
call fcn.0102a440
cmp dword [esp + 0x2c], 0
je 0x103492b
mov eax, dword [esp + 0x2c]
mov dword [esp], eax
call fcn.0102a440
jmp 0x103492b
jmp 0x103492d
add esi, 1
jmp 0x1032b9c
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret