Function at 0x10039d50
Capabilities:
Parse pe header

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x9d4
mov eax, dword [0x100a1cdc]
mov dword [ebp - 8], eax
mov dword [ebp - 0x11c], 0xf42400
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
mov dword [eax + 0x324], ecx
mov edx, dword [ebp + 0xc]
push edx
call fcn.10090280
add esp, 4
mov word [ebp - 0x120], ax
movzx eax, word [ebp - 0x120]
cmp eax, 0x60
jle 0x10039da0
mov eax, 0xf42400
jmp 0x1004057c
push pe_nt_image_headers32
mov ecx, dword [ebp + 0xc]
push ecx
push 0xffffffffffffffff
lea edx, [ebp - 0x330]
push edx
call fcn.10022300
add esp, 0x10
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x318]
cmp ecx, 1
jne 0x10039efc
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x20e]
test eax, eax
jne 0x10039e46
mov ecx, dword [ebp + 8]
mov word [ecx + 0x210], 0xffff
mov edx, dword [ebp + 8]
mov byte [edx + 0x20d], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0x20e], 1
mov dword [ebp - 0x684], 0
jmp 0x10039e16
mov ecx, dword [ebp - 0x684]
add ecx, 1
mov dword [ebp - 0x684], ecx
movzx edx, word [ebp - 0x120]
cmp dword [ebp - 0x684], edx
jg 0x10039e41
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x684]
mov ecx, dword [ebp + 0xc]
add ecx, dword [ebp - 0x684]
mov dl, byte [ecx]
mov byte [eax + 0x212], dl
jmp 0x10039e07
jmp 0x10039efa
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x20e]
cmp ecx, 2
jne 0x10039efa
mov dword [ebp - 0x684], 0
jmp 0x10039e74
mov edx, dword [ebp - 0x684]
add edx, 1
mov dword [ebp - 0x684], edx
cmp dword [ebp - 0x684], 5
jge 0x10039ea1
mov eax, dword [ebp + 0xc]
add eax, dword [ebp - 0x684]
movzx ecx, byte [eax]
mov edx, dword [ebp + 8]
add edx, dword [ebp - 0x684]
movzx eax, byte [edx + 0x212]
cmp ecx, eax
je 0x10039e9f
jmp 0x10039ea1
jmp 0x10039e65
cmp dword [ebp - 0x684], 4
jge 0x10039efa
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x20e], 1
mov dword [ebp - 0x684], 0
jmp 0x10039ecf
mov edx, dword [ebp - 0x684]
add edx, 1
mov dword [ebp - 0x684], edx
movzx eax, word [ebp - 0x120]
cmp dword [ebp - 0x684], eax
jg 0x10039efa
mov ecx, dword [ebp + 8]
add ecx, dword [ebp - 0x684]
mov edx, dword [ebp + 0xc]
add edx, dword [ebp - 0x684]
mov al, byte [edx]
mov byte [ecx + 0x212], al
jmp 0x10039ec0
jmp 0x10039f06
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x20e], 0
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x331]
cmp eax, 0x84
jle case.0x10039f69.1
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov dword [ecx + 0x324], edx
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x331]
mov dword [ebp - 0x9bc], ecx
mov edx, dword [ebp - 0x9bc]
sub edx, 0xe0
mov dword [ebp - 0x9bc], edx
cmp dword [ebp - 0x9bc], 0x19
ja case.0x10039f69.1
mov eax, dword [ebp - 0x9bc]
movzx ecx, byte [eax + 0x100405a0]
jmp dword [ecx*4 + 0x10040588]
movzx edx, word [ebp - 0x120]
mov byte [ebp + edx - 0x331], 0x7b
jmp case.0x10039f69.1
movzx eax, word [ebp - 0x120]
mov byte [ebp + eax - 0x331], 0x7c
jmp case.0x10039f69.1
movzx ecx, word [ebp - 0x120]
mov byte [ebp + ecx - 0x331], 0x7d
jmp case.0x10039f69.1
movzx edx, word [ebp - 0x120]
mov byte [ebp + edx - 0x331], 0x7e
jmp case.0x10039f69.1
movzx eax, word [ebp - 0x120]
mov byte [ebp + eax - 0x331], 0x7f
mov word [ebp - 0x458], 0
mov cx, word [ebp - 0x458]
mov word [ebp - 0x340], cx
mov dx, word [ebp - 0x340]
mov word [ebp - 0x348], dx
mov eax, dword [ebp + 8]
mov word [eax + 4], 0
mov ecx, dword [ebp + 8]
mov word [ecx + 8], 0
mov edx, dword [ebp + 8]
mov word [edx + 6], 0
mov eax, dword [ebp + 8]
mov byte [eax], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 3], 0
mov edx, dword [ebp + 8]
mov byte [edx + 2], 0
mov eax, dword [ebp + 8]
mov byte [eax + 1], 0
movzx ecx, word [ebp - 0x120]
test ecx, ecx
jne 0x1003a033
mov eax, 0xf42400
jmp 0x1004057c
movzx edx, word [ebp - 0x120]
cmp edx, 1
jne 0x1003a0bb
movzx eax, byte [ebp - 0x330]
cmp eax, 0x61
jl 0x1003a0b1
movzx ecx, byte [ebp - 0x330]
cmp ecx, 0x7a
jg 0x1003a0b1
mov dword [ebp - 0x688], 0xf42400
push 0xffffffffffffffff
lea edx, [ebp - 0x330]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x688], eax
mov ecx, dword [ebp + 8]
mov byte [ecx], 0x80
mov edx, dword [ebp + 8]
mov byte [edx + 0xc], 0xd4
mov eax, dword [ebp + 8]
mov byte [eax + 0xd], 0xb
mov ecx, dword [ebp + 8]
mov byte [ecx + 0xe], 0x10
mov edx, dword [ebp + 8]
mov byte [edx + 0xf], 0
mov eax, dword [ebp + 8]
mov word [eax + 0xa], 5
mov eax, 0x989680
jmp 0x1004057c
mov eax, 0xf42400
jmp 0x1004057c
mov ecx, dword [ebp + 8]
mov word [ecx + 0x314], 0
mov edx, dword [ebp + 8]
mov byte [edx + 0x312], 0xff
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x331]
cmp ecx, 0x27
je 0x1003a100
push 0xffffffffffffffff
lea edx, [ebp - 0x330]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x331]
cmp edx, 0x27
jne 0x1003a492
lea eax, [ebp - 0x330]
push eax
call fcn.10090280
add esp, 4
mov dword [ebp - 0x68c], eax
cmp dword [ebp - 0x68c], 3
jle 0x1003a492
mov ecx, dword [str.oaie]
mov dword [ebp - 0x690], ecx
mov dword [ebp - 0x694], 0
mov edx, dword [ebp - 0x68c]
movzx eax, byte [ebp + edx - 0x332]
cmp eax, 0x6e
jne 0x1003a18e
mov ecx, dword [ebp - 0x68c]
movzx edx, byte [ebp + ecx - 0x333]
cmp edx, 0x75
jne 0x1003a18e
mov byte [ebp - 0x690], 0x61
mov byte [ebp - 0x68f], 0x6f
mov dword [ebp - 0x694], 1
movzx eax, byte [ebp - 0x330]
cmp eax, 0x6e
je 0x1003a1c3
movzx ecx, byte [ebp - 0x330]
cmp ecx, 0x71
je 0x1003a1c3
movzx edx, byte [ebp - 0x330]
cmp edx, 0x64
jne 0x1003a250
cmp dword [ebp - 0x68c], 7
jge 0x1003a250
push str.quand
lea eax, [ebp - 0x330]
push eax
call fcn.10090310
add esp, 8
test eax, eax
jne 0x1003a1e4
mov byte [ebp - 0x32b], 0x6f
jmp 0x1003a224
push str.null
lea ecx, [ebp - 0x330]
push ecx
call fcn.10090310
add esp, 8
test eax, eax
jne 0x1003a205
mov byte [ebp - 0x32c], 0x61
jmp 0x1003a224
push str.dov
lea edx, [ebp - 0x330]
push edx
call fcn.10090310
add esp, 8
test eax, eax
jne 0x1003a224
mov byte [ebp - 0x32d], 0x65
push 0xffffffffffffffff
lea eax, [ebp - 0x330]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003a250
jmp 0x1004048a
mov word [ebp - 0x568], 0
jmp 0x1003a26d
mov dx, word [ebp - 0x568]
add dx, 1
mov word [ebp - 0x568], dx
movzx eax, word [ebp - 0x568]
cmp eax, 4
jge 0x1003a2fe
movzx ecx, word [ebp - 0x568]
mov edx, dword [ebp - 0x68c]
mov al, byte [ebp + ecx - 0x690]
mov byte [ebp + edx - 0x331], al
push 0xffffffffffffffff
lea ecx, [ebp - 0x330]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003a2d0
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xc]
cmp ecx, 0x63
jne 0x1003a2d0
jmp 0x1004048a
push 0xffffffffffffffff
lea edx, [ebp - 0x330]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003a2f9
jmp 0x1003a2fe
jmp 0x1003a25b
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003a492
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 0xe0
mov dword [ebp - 0x698], edx
cmp dword [ebp - 0x698], 0x80
je 0x1003a362
cmp dword [ebp - 0x698], 0xe0
jne 0x1003a345
movzx eax, byte [ebp - 0x330]
cmp eax, 0x71
je 0x1003a362
mov dword [ebp - 0x11c], 0xf42400
movzx ecx, word [ebp - 0x568]
cmp ecx, 3
jge 0x1003a35d
jmp 0x1003a2f9
jmp 0x1003a492
cmp dword [ebp - 0x698], 0x80
jne 0x1003a433
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xd]
and eax, 0x40
jne 0x1003a38a
mov dword [ebp - 0x11c], 0xf42400
jmp 0x1003a402
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 0x1c
cmp edx, 0x1c
jne 0x1003a402
movzx eax, byte [ebp - 0x330]
cmp eax, 0x64
je 0x1003a3cb
mov ecx, dword [ebp - 0x68c]
movzx edx, byte [ebp + ecx - 0x333]
cmp edx, 0x6e
jne 0x1003a3cb
mov eax, dword [ebp - 0x68c]
movzx ecx, byte [ebp + eax - 0x332]
cmp ecx, 0x74
je 0x1003a3f8
movzx edx, byte [ebp - 0x330]
cmp edx, 0x71
jne 0x1003a3e0
cmp dword [ebp - 0x68c], 7
je 0x1003a3ec
mov dword [ebp - 0x11c], 0xf42400
jmp 0x1003a3f6
mov dword [ebp - 0x694], 3
jmp 0x1003a402
mov dword [ebp - 0x694], 3
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xc]
and ecx, 0xfd
mov edx, dword [ebp + 8]
mov byte [edx + 0xc], cl
movzx eax, word [ebp - 0x568]
movzx ecx, byte [ebp + eax - 0x690]
cmp ecx, 0x69
jne 0x1003a433
mov dword [ebp - 0x694], 3
mov edx, dword [ebp + 8]
mov byte [edx], 0
cmp dword [ebp - 0x694], 1
jne 0x1003a45b
mov eax, dword [ebp - 0x68c]
movzx ecx, byte [ebp + eax - 0x331]
cmp ecx, 0x6f
jne 0x1003a45b
mov edx, dword [ebp + 8]
mov byte [edx], 2
cmp dword [ebp - 0x694], 0
jne 0x1003a492
mov eax, dword [ebp + 8]
mov byte [eax + 0x10], 2
mov ecx, dword [ebp + 8]
mov byte [ecx + 0xd], 5
mov edx, dword [ebp + 8]
mov byte [edx + 0xe], 8
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xf]
and ecx, 8
mov edx, dword [ebp + 8]
mov byte [edx + 0xf], cl
mov eax, dword [ebp + 8]
mov word [eax + 0xa], 5
movzx ecx, word [ebp - 0x120]
mov edx, dword [ebp + 0xc]
movzx eax, byte [edx + ecx - 1]
cmp eax, 0x27
jne 0x1003a4bc
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003a4bc
mov eax, 0xf42400
jmp 0x1004057c
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003a511
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x31c], 1
jne 0x1003a511
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 0xe0
cmp eax, 0xc0
jne 0x1003a511
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 0xc
jne 0x1003a511
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x331]
cmp ecx, 0x7c
je 0x1003a511
mov eax, 0xf42400
jmp 0x1004057c
mov edx, dword [ebp + 8]
cmp dword [edx + 0x31c], 0
jne 0x1003a6c2
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003a6c2
lea eax, [ebp - 0x330]
push eax
call fcn.10090280
add esp, 4
movzx ecx, byte [ebp + eax - 0x331]
cmp ecx, 0x72
jne 0x1003a6c2
lea edx, [ebp - 0x330]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
call fcn.10022300
add esp, 0xc
push 0x100a0a0c
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003a6b8
mov word [ebp - 0x34c], 0
movzx ecx, word [ebp - 0x34c]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xc]
and eax, 0xe0
cmp eax, 0x80
jne 0x1003a5df
movzx ecx, word [ebp - 0x34c]
add ecx, 5
mov word [ebp - 0x34c], cx
movzx edx, word [ebp - 0x34c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 0xe0
cmp ecx, 0xc0
jne 0x1003a63a
movzx edx, word [ebp - 0x34c]
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0xa]
cmp edx, ecx
jge 0x1003a63a
movzx edx, word [ebp - 0x34c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 1
sub ecx, 1
neg ecx
sbb ecx, ecx
inc ecx
movzx edx, word [ebp - 0x34c]
lea eax, [edx + ecx*2 + 5]
mov word [ebp - 0x34c], ax
movzx ecx, word [ebp - 0x34c]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xc]
and eax, 0xe0
cmp eax, 0x20
jne 0x1003a6b8
movzx ecx, word [ebp - 0x34c]
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0xa]
cmp ecx, eax
jge 0x1003a6b8
movzx ecx, word [ebp - 0x34c]
test ecx, ecx
je 0x1003a6ad
movzx edx, word [ebp - 0x34c]
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0xa]
sub ecx, edx
mov edx, dword [ebp + 8]
mov word [edx + 0xa], cx
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0xa]
push ecx
movzx edx, word [ebp - 0x34c]
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0xc]
push ecx
mov edx, dword [ebp + 8]
add edx, 0xc
push edx
call fcn.10022300
add esp, 0xc
mov eax, dword [ebp + 8]
mov byte [eax], 0
jmp 0x1004048a
mov dword [ebp - 0x11c], 0xf42400
lea ecx, [ebp - 0x330]
push ecx
call fcn.10090280
add esp, 4
mov dl, byte [ebp + eax - 0x331]
mov byte [ebp - 0x67b], dl
mov eax, dword [ebp + 8]
cmp dword [eax + 0x31c], 0
jne 0x1003a901
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003a901
movzx ecx, byte [ebp - 0x67b]
cmp ecx, 0x62
jl 0x1003a71a
movzx edx, byte [ebp - 0x67b]
cmp edx, 0x64
jle 0x1003a80a
movzx eax, byte [ebp - 0x67b]
cmp eax, 0x66
jl 0x1003a736
movzx ecx, byte [ebp - 0x67b]
cmp ecx, 0x68
jle 0x1003a80a
movzx edx, byte [ebp - 0x67b]
cmp edx, 0x6a
jl 0x1003a752
movzx eax, byte [ebp - 0x67b]
cmp eax, 0x6e
jle 0x1003a80a
movzx ecx, byte [ebp - 0x67b]
cmp ecx, 0x70
jl 0x1003a76e
movzx edx, byte [ebp - 0x67b]
cmp edx, 0x74
jle 0x1003a80a
movzx eax, byte [ebp - 0x67b]
cmp eax, 0x76
jl 0x1003a78a
movzx ecx, byte [ebp - 0x67b]
cmp ecx, 0x7a
jle 0x1003a80a
movzx edx, byte [ebp - 0x67b]
cmp edx, 0x42
jl 0x1003a7a2
movzx eax, byte [ebp - 0x67b]
cmp eax, 0x44
jle 0x1003a80a
movzx ecx, byte [ebp - 0x67b]
cmp ecx, 0x46
jl 0x1003a7ba
movzx edx, byte [ebp - 0x67b]
cmp edx, 0x48
jle 0x1003a80a
movzx eax, byte [ebp - 0x67b]
cmp eax, 0x4a
jl 0x1003a7d2
movzx ecx, byte [ebp - 0x67b]
cmp ecx, 0x4e
jle 0x1003a80a
movzx edx, byte [ebp - 0x67b]
cmp edx, 0x50
jl 0x1003a7ea
movzx eax, byte [ebp - 0x67b]
cmp eax, 0x54
jle 0x1003a80a
movzx ecx, byte [ebp - 0x67b]
cmp ecx, 0x56
jl 0x1003a901
movzx edx, byte [ebp - 0x67b]
cmp edx, 0x5a
jg 0x1003a901
movzx eax, byte [ebp - 0x67b]
cmp eax, 0x72
je 0x1003a826
movzx ecx, byte [ebp - 0x67b]
cmp ecx, 0x6c
jne 0x1003a901
lea edx, [ebp - 0x330]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
call fcn.10022300
add esp, 0xc
push 0x100a0a10
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003a901
mov word [ebp - 0x34c], 0
movzx ecx, word [ebp - 0x34c]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xc]
and eax, 0xe0
cmp eax, 0x80
jne 0x1003a8b4
movzx ecx, word [ebp - 0x34c]
add ecx, 5
mov word [ebp - 0x34c], cx
movzx edx, word [ebp - 0x34c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 0xe0
cmp ecx, 0xc0
jne 0x1003a8f7
movzx edx, word [ebp - 0x34c]
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0xa]
cmp edx, ecx
jge 0x1003a8f7
movzx edx, word [ebp - 0x34c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xd]
and ecx, 0x40
jne 0x1003a901
mov dword [ebp - 0x11c], 0xf42400
mov edx, dword [ebp + 8]
cmp dword [edx + 0x31c], 0
jne 0x1003a98c
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003a98c
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xc]
and ecx, 0xe0
cmp ecx, 0xc0
jne 0x1003a945
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xd]
and eax, 0xf
cmp eax, 0xb
jne 0x1003a945
mov ecx, dword [ebp + 8]
mov byte [ecx], 0x80
jmp 0x1003a98c
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 0xe0
cmp eax, 0x60
jne 0x1003a98c
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xe]
and edx, 0xe0
cmp edx, 0xc0
jne 0x1003a98c
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0xa]
cmp ecx, 2
jle 0x1003a98c
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xf]
and eax, 0xf
cmp eax, 0xb
jne 0x1003a98c
mov ecx, dword [ebp + 8]
mov byte [ecx], 0x80
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1004048a
movsx edx, word [0x100a5f4a]
cmp edx, 0x64
je 0x1003a9c1
mov eax, dword [ebp + 8]
movsx ecx, word [eax + 0x314]
add ecx, 4
mov edx, dword [ebp + 8]
mov word [edx + 0x316], cx
jmp 0x1003a9cd
mov eax, dword [ebp + 8]
mov word [eax + 0x316], 0
lea ecx, [ebp - 0x330]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10022300
add esp, 8
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003a9f7
jmp 0x1004048a
movzx eax, word [ebp - 0x120]
cmp eax, 2
jle 0x1003cf30
movzx ecx, word [ebp - 0x120]
cmp ecx, 3
jle 0x1003adf7
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x333]
cmp eax, 0x6e
jne 0x1003adf7
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x332]
cmp edx, 0x74
jne 0x1003adf7
mov eax, dword [ebp + 8]
cmp dword [eax + 0x31c], 0
je 0x1003aa7b
movzx ecx, word [ebp - 0x120]
cmp ecx, 7
jl 0x1003aa7b
movzx edx, word [ebp - 0x120]
mov eax, dword [ebp + 8]
movsx ecx, word [eax + 0x316]
sub edx, ecx
cmp edx, 4
jg 0x1003adf7
movzx edx, word [ebp - 0x120]
mov al, byte [ebp + edx - 0x334]
mov byte [ebp - 0x67b], al
movzx ecx, word [ebp - 0x120]
mov dl, byte [ebp + ecx - 0x331]
mov byte [ebp - 0x67a], dl
movzx eax, byte [ebp - 0x67b]
cmp eax, 0x61
je 0x1003aabf
movzx ecx, byte [ebp - 0x67b]
cmp ecx, 0x65
jne 0x1003adf7
movzx edx, byte [ebp - 0x67a]
cmp edx, 0x65
je 0x1003aadb
movzx eax, byte [ebp - 0x67a]
cmp eax, 0x69
jne 0x1003adf7
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x331]
cmp edx, 0x69
jne 0x1003ab7b
lea eax, [ebp - 0x330]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
movzx edx, word [ebp - 0x120]
mov byte [ebp + edx - 0x109], 0x65
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003ab7b
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 0xe0
cmp eax, 0x40
jne 0x1003ab7b
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xd]
and edx, 0xe0
cmp edx, 0x80
jne 0x1003ab7b
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xd]
and ecx, 0x18
cmp ecx, 0x18
jne 0x1003ab7b
jmp 0x1004048a
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x335]
cmp eax, 0x69
jne 0x1003aba7
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x334]
cmp edx, 0x61
jne 0x1003adf7
lea eax, [ebp - 0x330]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
movzx edx, word [ebp - 0x120]
mov byte [ebp + edx - 0x10c], 0
mov al, byte [ebp - 0x67b]
mov byte [ebp - 0x9c0], al
cmp byte [ebp - 0x9c0], 0x61
je 0x1003abee
cmp byte [ebp - 0x9c0], 0x65
je 0x1003ac08
jmp 0x1003ac1f
mov ecx, dword [0x100a0790]
push ecx
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
call fcn.10022300
add esp, 0xc
jmp 0x1003ac1f
mov eax, dword [0x100a0788]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
mov edx, dword [ebp + 8]
movzx eax, word [edx + 6]
or eax, 0x10
mov ecx, dword [ebp + 8]
mov word [ecx + 6], ax
mov edx, dword [ebp + 8]
mov word [edx + 8], 0x30
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003aca1
movzx edx, word [ebp - 0x120]
mov byte [ebp + edx - 0x10c], 0
mov eax, dword [0x100a0780]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003ad76
mov word [ebp - 0x568], 0
movzx ecx, word [ebp - 0x568]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xc]
and eax, 0xe0
cmp eax, 0x80
jne 0x1003ace6
movzx ecx, word [ebp - 0x568]
add ecx, 5
mov word [ebp - 0x568], cx
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 0xe0
cmp ecx, 0xc0
jne 0x1003ad41
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0xa]
movzx ecx, word [ebp - 0x568]
cmp eax, ecx
jle 0x1003ad41
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 1
sub ecx, 1
neg ecx
sbb ecx, ecx
inc ecx
movzx edx, word [ebp - 0x568]
lea eax, [edx + ecx*2 + 5]
mov word [ebp - 0x568], ax
movzx ecx, word [ebp - 0x568]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xc]
and eax, 0xe0
cmp eax, 0x20
jne 0x1003ad6c
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 0xa]
movzx eax, word [ebp - 0x568]
cmp edx, eax
jg 0x1003ad76
mov dword [ebp - 0x11c], 0xf42400
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003adf7
movzx ecx, word [ebp - 0x568]
test ecx, ecx
je 0x1003adca
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0xa]
sub ecx, edx
mov edx, dword [ebp + 8]
mov word [edx + 0xa], cx
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0xa]
push ecx
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0xc]
push ecx
mov edx, dword [ebp + 8]
add edx, 0xc
push edx
call fcn.10022300
add esp, 0xc
lea eax, [ebp - 0x108]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp + 8]
add ecx, 0x10c
push ecx
call fcn.10022300
add esp, 0xc
mov edx, dword [ebp + 8]
mov byte [edx + 1], 0x30
mov eax, dword [ebp + 8]
mov byte [eax], 1
jmp 0x1004048a
mov word [ebp - 0x22c], 0
mov word [ebp - 0x344], 0x5c
mov word [ebp - 0x33c], 0
mov byte [ebp - 0x109], 0
mov cl, byte [ebp - 0x109]
mov byte [ebp - 0x562], cl
mov dl, byte [ebp - 0x562]
mov byte [ebp - 0x679], dl
mov al, byte [ebp - 0x679]
mov byte [ebp - 0x561], al
mov cl, byte [ebp - 0x561]
mov byte [ebp - 0x115], cl
push 0x100a0a14
push 0xffffffffffffffff
lea edx, [ebp - 0x330]
push edx
call fcn.10022300
add esp, 0xc
mov byte [ebp - 0x116], 0xff
movzx eax, word [ebp - 0x33c]
add eax, dword [0x100a5d34]
mov dword [ebp - 0x678], eax
mov cx, word [ebp - 0x22c]
mov word [ebp - 0x680], cx
movzx edx, word [ebp - 0x680]
movsx eax, word [ebp - 0x344]
cmp edx, eax
jge 0x1003ce3b
movzx ecx, word [ebp - 0x680]
cmp ecx, 2
jge 0x1003aeb7
mov word [ebp - 0x114], 8
jmp 0x1003af3f
movzx edx, word [ebp - 0x680]
cmp edx, 0x13
jge 0x1003aece
mov word [ebp - 0x114], 6
jmp 0x1003af3f
movzx eax, word [ebp - 0x680]
cmp eax, 0x23
jge 0x1003aee5
mov word [ebp - 0x114], 5
jmp 0x1003af3f
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x3f
jge 0x1003aefc
mov word [ebp - 0x114], 4
jmp 0x1003af3f
movzx edx, word [ebp - 0x680]
cmp edx, 0x52
jge 0x1003af13
mov word [ebp - 0x114], 3
jmp 0x1003af3f
movzx eax, word [ebp - 0x680]
cmp eax, 0x55
jge 0x1003af2a
mov word [ebp - 0x114], 2
jmp 0x1003af3f
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x5c
jge 0x1003af3f
mov word [ebp - 0x114], 1
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x114]
sub edx, eax
mov word [ebp - 0x674], dx
movsx ecx, word [ebp - 0x674]
cmp ecx, 1
jge 0x1003af70
movzx edx, word [ebp - 0x114]
cmp edx, 1
jle 0x1003af70
jmp 0x1003af9e
movzx eax, word [ebp - 0x114]
cmp eax, 1
jle 0x1003b1ab
movsx ecx, word [ebp - 0x674]
movzx edx, byte [ebp + ecx - 0x330]
movzx eax, byte [edx + 0x100a5900]
test eax, eax
jne 0x1003b047
movzx ecx, word [ebp - 0x114]
cmp ecx, 8
jne 0x1003afb3
mov word [ebp - 0x114], 7
movzx edx, word [ebp - 0x114]
lea eax, [edx*4 - 8]
mov ecx, dword [0x100a5dc0]
movsx edx, word [ecx + eax*2]
add edx, dword [0x100a5d34]
mov dword [ebp - 0x678], edx
movzx eax, word [ebp - 0x114]
mov ecx, dword [0x100a58f4]
mov dx, word [ecx + eax*2 - 4]
mov word [ebp - 0x680], dx
mov byte [ebp - 0x116], 0xff
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x318]
cmp ecx, 1
jne 0x1003b042
movzx edx, word [ebp - 0x120]
mov eax, dword [ebp + 8]
movsx ecx, word [eax + 0x316]
sub edx, ecx
movzx eax, word [ebp - 0x114]
sub eax, 1
cmp edx, eax
jle 0x1003b042
mov ecx, dword [ebp + 8]
movsx edx, word [ecx + 0x316]
add edx, 1
mov eax, dword [ebp + 8]
mov byte [eax + 0x312], dl
jmp 0x1003cec6
jmp 0x1003ae87
movsx ecx, word [ebp - 0x674]
movzx edx, byte [ebp + ecx - 0x330]
cmp edx, 0x69
jle 0x1003b080
movzx eax, word [ebp - 0x114]
cmp eax, 3
jne 0x1003b07b
movsx ecx, word [ebp - 0x674]
movzx edx, byte [ebp + ecx - 0x330]
cmp edx, 0x6f
je 0x1003b080
jmp 0x1003af9e
movzx eax, byte [ebp - 0x116]
cmp eax, 0xff
jne 0x1003b1ab
movsx ecx, word [ebp - 0x674]
movzx edx, byte [ebp + ecx - 0x330]
mov dword [ebp - 0x9c4], edx
mov eax, dword [ebp - 0x9c4]
sub eax, 0x61
mov dword [ebp - 0x9c4], eax
cmp dword [ebp - 0x9c4], 0xe
ja case.0x1003b0cc.1
mov ecx, dword [ebp - 0x9c4]
movzx edx, byte [ecx + 0x100405ce]
jmp dword [edx*4 + 0x100405ba]
mov word [ebp - 0x460], 0
jmp 0x1003b104
mov word [ebp - 0x460], 1
jmp 0x1003b104
mov word [ebp - 0x460], 2
jmp 0x1003b104
mov word [ebp - 0x460], 3
jmp 0x1003b104
jmp 0x1003af9e
movzx eax, word [ebp - 0x114]
movzx ecx, word [ebp - 0x460]
lea edx, [ecx + eax*4 - 4]
mov eax, dword [0x100a5dc0]
movsx ecx, word [eax + edx*2]
cmp ecx, 0x2710
jne 0x1003b12c
jmp 0x1003af9e
movzx edx, word [ebp - 0x114]
movzx eax, word [ebp - 0x460]
lea ecx, [eax + edx*4 - 4]
mov edx, dword [0x100a5dc0]
movsx eax, word [edx + ecx*2]
add eax, dword [0x100a5d34]
mov dword [ebp - 0x678], eax
movsx ecx, word [ebp - 0x674]
movzx edx, byte [ebp + ecx - 0x32f]
mov eax, dword [ebp - 0x678]
movzx ecx, byte [eax + 1]
cmp edx, ecx
jge 0x1003b176
jmp 0x1003af9e
movzx edx, word [ebp - 0x114]
movzx eax, word [ebp - 0x460]
add eax, dword [0x100a5520]
movzx cx, byte [eax + edx*4 - 4]
mov word [ebp - 0x680], cx
movsx edx, word [ebp - 0x674]
mov al, byte [ebp + edx - 0x330]
mov byte [ebp - 0x116], al
mov ecx, dword [ebp - 0x678]
movzx edx, byte [ecx]
movzx eax, byte [ebp - 0x116]
cmp edx, eax
jle 0x1003b1d7
mov byte [ebp - 0x116], 0xff
movzx ecx, word [ebp - 0x114]
cmp ecx, 1
jle 0x1003b1d7
jmp 0x1003af9e
movsx edx, word [ebp - 0x674]
movzx eax, byte [ebp + edx - 0x330]
mov ecx, dword [ebp - 0x678]
movzx edx, byte [ecx]
cmp eax, edx
jne 0x1003cdee
movzx eax, word [ebp - 0x114]
cmp eax, 1
je 0x1003b224
movsx ecx, word [ebp - 0x674]
movzx edx, byte [ebp + ecx - 0x32f]
mov eax, dword [ebp - 0x678]
movzx ecx, byte [eax + 1]
cmp edx, ecx
jne 0x1003cdee
movzx edx, word [ebp - 0x114]
push edx
mov eax, dword [ebp - 0x678]
push eax
movsx ecx, word [ebp - 0x674]
lea edx, [ebp + ecx - 0x330]
push edx
call fcn.10091230
add esp, 0xc
test eax, eax
jne 0x1003cdee
movzx eax, word [ebp - 0x680]
cmp eax, 0x5a
jne 0x1003b270
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x320]
cmp edx, 0xe8
je 0x1003b285
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x114]
sub eax, ecx
cmp eax, 0x16
jle 0x1003b28a
jmp 0x1003ce3b
mov edx, dword [ebp + 8]
cmp dword [edx + 0x31c], 1
jne 0x1003b391
movzx eax, word [ebp - 0x120]
cmp eax, 6
jg 0x1003b2c6
movzx ecx, word [ebp - 0x120]
cmp ecx, 6
jne 0x1003b391
movzx edx, word [ebp - 0x114]
cmp edx, 1
jne 0x1003b391
movzx eax, word [ebp - 0x120]
mov ecx, dword [ebp + 8]
movsx edx, word [ecx + 0x316]
sub eax, edx
movzx ecx, word [ebp - 0x114]
cmp eax, ecx
jle 0x1003b391
movsx edx, word [ebp - 0x348]
test edx, edx
jne 0x1003b391
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x114]
sub eax, ecx
movzx edx, byte [ebp + eax - 0x332]
cmp edx, 0x73
jne 0x1003b34e
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x114]
sub eax, ecx
movzx edx, byte [ebp + eax - 0x331]
cmp edx, 0x63
jne 0x1003b34e
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x114]
sub eax, ecx
movzx edx, byte [ebp + eax - 0x333]
cmp edx, 0x69
je 0x1003b391
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x114]
sub eax, ecx
movzx edx, byte [ebp + eax - 0x331]
cmp edx, 0x68
jne 0x1003b38c
movzx eax, word [ebp - 0x120]
mov ecx, dword [ebp + 8]
movsx edx, word [ecx + 0x316]
sub eax, edx
movzx ecx, word [ebp - 0x114]
add ecx, 1
cmp eax, ecx
je 0x1003b391
jmp 0x1003cec6
mov dx, word [ebp - 0x114]
add dx, 1
mov word [ebp - 0x114], dx
movzx eax, word [ebp - 0x114]
mov ecx, dword [ebp - 0x678]
mov dl, byte [ecx + eax + 6]
mov byte [ebp - 0x67b], dl
lea eax, [ebp - 0x330]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
lea edx, [ebp - 0x330]
push edx
call fcn.10090280
add esp, 4
movzx ecx, word [ebp - 0x114]
sub eax, ecx
mov word [ebp - 0x568], ax
movzx edx, word [ebp - 0x568]
movzx eax, byte [ebp + edx - 0x108]
cmp eax, 0x61
jne 0x1003b41a
movzx ecx, word [ebp - 0x114]
cmp ecx, 2
jne 0x1003b41a
mov byte [ebp - 0x67b], 0x36
jmp 0x1003b44b
movzx edx, byte [ebp - 0x67b]
cmp edx, 0x31
jne 0x1003b44b
movzx eax, word [ebp - 0x114]
mov ecx, dword [ebp - 0x678]
movzx edx, byte [ecx + eax + 0xb]
cmp edx, 0x35
jne 0x1003b44b
mov byte [ebp - 0x67b], 0x36
mov byte [ebp - 0x562], 1
movzx eax, word [ebp - 0x568]
mov byte [ebp + eax - 0x108], 0
movzx ecx, word [ebp - 0x568]
movzx edx, byte [ebp + ecx - 0x109]
cmp edx, 0x68
jne 0x1003b555
movzx eax, word [ebp - 0x568]
cmp eax, 1
jle 0x1003b555
movzx ecx, word [ebp - 0x568]
movzx edx, byte [ebp + ecx - 0x10a]
cmp edx, 0x63
je 0x1003b4ae
movzx eax, word [ebp - 0x568]
movzx ecx, byte [ebp + eax - 0x10a]
cmp ecx, 0x67
jne 0x1003b555
movzx edx, word [ebp - 0x568]
movzx eax, byte [ebp + edx - 0x330]
cmp eax, 0x69
je 0x1003b4d6
movzx ecx, word [ebp - 0x568]
movzx edx, byte [ebp + ecx - 0x330]
cmp edx, 0x65
jne 0x1003b555
movzx eax, byte [ebp - 0x67b]
cmp eax, 0x31
je 0x1003b4fa
movzx ecx, byte [ebp - 0x67b]
cmp ecx, 0x34
je 0x1003b4fa
movzx edx, byte [ebp - 0x67b]
cmp edx, 0x36
jne 0x1003b512
movzx eax, word [ebp - 0x568]
mov byte [ebp + eax - 0x109], 0
mov byte [ebp - 0x115], 1
jmp 0x1003b555
movzx ecx, byte [ebp - 0x67b]
cmp ecx, 0x33
jne 0x1003b520
jmp 0x1003b555
push 0x100a0a18
mov edx, dword [ebp - 0x678]
push edx
call fcn.10090310
add esp, 8
test eax, eax
jne 0x1003b550
movzx eax, word [ebp - 0x568]
mov byte [ebp + eax - 0x109], 0
mov byte [ebp - 0x115], 1
jmp 0x1003b555
jmp 0x1003ce3b
movzx ecx, word [ebp - 0x568]
cmp ecx, 2
jle 0x1003b5bb
push 0x100a0a20
movzx edx, word [ebp - 0x568]
lea eax, [ebp + edx - 0x10b]
push eax
call fcn.10090310
add esp, 8
test eax, eax
jne 0x1003b5bb
movzx ecx, word [ebp - 0x114]
cmp ecx, 2
je 0x1003b5a5
movzx edx, word [ebp - 0x680]
cmp edx, 0x51
je 0x1003b5a5
movzx eax, word [ebp - 0x680]
cmp eax, 0x3f
jne 0x1003b5bb
movzx ecx, word [ebp - 0x568]
mov byte [ebp + ecx - 0x10b], 0
mov byte [ebp - 0x561], 1
lea edx, [ebp - 0x108]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x450]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], 0xf42400
mov ecx, dword [ebp - 0x678]
push ecx
call fcn.10090280
add esp, 4
cmp eax, 2
jbe 0x1003b602
mov edx, dword [ebp + 8]
movzx eax, word [edx + 6]
or eax, 0x10
mov ecx, dword [ebp + 8]
mov word [ecx + 6], ax
mov word [ebp - 0x460], 1
jmp 0x1003b61f
mov dx, word [ebp - 0x460]
add dx, 1
mov word [ebp - 0x460], dx
movzx eax, word [ebp - 0x460]
cmp eax, 4
jg 0x1003bb48
lea ecx, [ebp - 0x450]
push ecx
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
call fcn.10022300
add esp, 0xc
movzx eax, word [ebp - 0x460]
cmp eax, 1
jne 0x1003b75f
movzx ecx, byte [ebp - 0x67b]
cmp ecx, 0x31
je 0x1003b67f
movzx edx, byte [ebp - 0x67b]
cmp edx, 0x34
je 0x1003b67f
movzx eax, byte [ebp - 0x67b]
cmp eax, 0x36
jne 0x1003b75f
mov ecx, dword [0x100a0790]
push ecx
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
call fcn.10022300
add esp, 0xc
movzx eax, word [ebp - 0x114]
cmp eax, 2
jne 0x1003b73f
movzx ecx, byte [ebp - 0x561]
cmp ecx, 1
jne 0x1003b73f
lea edx, [ebp - 0x108]
push edx
call fcn.10090280
add esp, 4
mov dword [ebp - 0x69c], eax
push 4
mov eax, dword [ebp - 0x69c]
lea ecx, [ebp + eax - 0x10b]
push ecx
mov edx, dword [ebp - 0x69c]
lea eax, [ebp + edx - 0x108]
push eax
call fcn.10022300
add esp, 0xc
push 3
push 0x100a0a24
mov ecx, dword [ebp - 0x69c]
lea edx, [ebp + ecx - 0x10b]
push edx
call fcn.10022300
add esp, 0xc
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003b73d
mov byte [ebp - 0x561], 0
jmp 0x1003b75a
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
jmp 0x1003bb35
movzx ecx, word [ebp - 0x460]
cmp ecx, 2
jne 0x1003b94c
mov edx, dword [ebp - 0x678]
movzx eax, byte [edx]
cmp eax, 0x69
je 0x1003b7a9
movzx ecx, word [ebp - 0x568]
movzx edx, byte [ebp + ecx - 0x109]
cmp edx, 0x67
je 0x1003b7a9
movzx eax, word [ebp - 0x568]
movzx ecx, byte [ebp + eax - 0x109]
cmp ecx, 0x63
jne 0x1003b94c
movzx edx, byte [ebp - 0x67b]
cmp edx, 0x31
je 0x1003b7d1
movzx eax, byte [ebp - 0x67b]
cmp eax, 0x34
je 0x1003b7d1
movzx ecx, byte [ebp - 0x67b]
cmp ecx, 0x36
jne 0x1003b94c
mov edx, dword [ebp - 0x678]
movzx eax, byte [edx]
cmp eax, 0x69
je 0x1003b7e6
mov byte [ebp - 0x109], 1
push str.iare
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
mov byte [ebp - 0x679], 1
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003b8a4
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x57
je 0x1003b84e
movzx edx, word [ebp - 0x680]
cmp edx, 0x35
je 0x1003b84e
movzx eax, word [ebp - 0x680]
cmp eax, 0x36
jne 0x1003b8a4
movzx ecx, byte [ebp - 0x115]
cmp ecx, 1
jne 0x1003b8a4
lea edx, [ebp - 0x108]
push edx
call fcn.10090280
add esp, 4
sub eax, 4
push eax
push 0x68
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
jmp 0x1003b947
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003b947
movzx ecx, word [ebp - 0x114]
cmp ecx, 2
jne 0x1003b947
movzx edx, byte [ebp - 0x561]
cmp edx, 1
jne 0x1003b947
push 0x100a0a30
push 0xffffffffffffffff
lea eax, [ebp - 0x7a0]
push eax
call fcn.10022300
add esp, 0xc
lea ecx, [ebp - 0x108]
push ecx
call fcn.10090280
add esp, 4
sub eax, 4
push eax
push 0xffffffffffffffff
lea edx, [ebp - 0x7a0]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003b947
mov byte [ebp - 0x561], 0
jmp 0x1003bb35
movzx ecx, word [ebp - 0x460]
cmp ecx, 3
jne 0x1003ba2d
movzx edx, byte [ebp - 0x561]
test edx, edx
jne 0x1003ba2d
movzx eax, byte [ebp - 0x67b]
cmp eax, 0x31
je 0x1003ba2d
movzx ecx, byte [ebp - 0x67b]
cmp ecx, 0x33
je 0x1003ba2d
movzx edx, byte [ebp - 0x115]
test edx, edx
jne 0x1003ba2d
mov byte [ebp - 0x679], 0
mov eax, dword [ebp - 0x678]
movzx ecx, byte [eax]
cmp ecx, 0x69
jne 0x1003b9f5
movzx edx, word [ebp - 0x568]
movzx eax, byte [ebp + edx - 0x109]
cmp eax, 0x6c
jne 0x1003b9f5
movzx ecx, word [ebp - 0x568]
movzx edx, byte [ebp + ecx - 0x10a]
cmp edx, 0x67
jne 0x1003b9f5
movzx eax, word [ebp - 0x568]
mov byte [ebp + eax - 0x108], 0x69
movzx ecx, word [ebp - 0x568]
mov byte [ebp + ecx - 0x107], 0
mov edx, dword [0x100a0788]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
call fcn.10022300
add esp, 0xc
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
jmp 0x1003bb35
movzx eax, word [ebp - 0x460]
cmp eax, 4
jne 0x1003bb35
movzx ecx, byte [ebp - 0x67b]
cmp ecx, 0x31
je 0x1003bb35
movzx edx, byte [ebp - 0x67b]
cmp edx, 0x32
je 0x1003bb35
movzx eax, byte [ebp - 0x67b]
cmp eax, 0x34
je 0x1003bb35
movzx ecx, byte [ebp - 0x115]
test ecx, ecx
je 0x1003bac0
mov edx, dword [ebp - 0x678]
movzx eax, byte [edx]
cmp eax, 0x69
je 0x1003ba98
mov ecx, dword [ebp - 0x678]
movzx edx, byte [ecx]
cmp edx, 0x65
jne 0x1003bb35
movzx eax, word [ebp - 0x568]
movzx ecx, byte [ebp + eax - 0x10a]
cmp ecx, 0x63
je 0x1003bac0
movzx edx, word [ebp - 0x568]
movzx eax, byte [ebp + edx - 0x10a]
cmp eax, 0x67
jne 0x1003bb35
mov byte [ebp - 0x679], 0
movzx ecx, byte [ebp - 0x115]
test ecx, ecx
jne 0x1003baec
mov edx, dword [0x100a0780]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
call fcn.10022300
add esp, 0xc
jmp 0x1003bb1a
push 0x100a0a34
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
mov edx, dword [0x100a0780]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
call fcn.10022300
add esp, 0xc
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003bb43
jmp 0x1003bb48
jmp 0x1003b60d
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003bb93
mov eax, dword [ebp - 0x678]
push eax
call fcn.10090280
add esp, 4
cmp eax, 2
jbe 0x1003bb8e
mov ecx, dword [ebp - 0x678]
push ecx
call fcn.10090280
add esp, 4
mov edx, dword [ebp - 0x678]
lea eax, [edx + eax + 1]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10022300
add esp, 8
jmp 0x1003ce3b
mov word [ebp - 0x230], 0
mov word [ebp - 0x110], 0
movzx edx, byte [ebp - 0x115]
cmp edx, 1
jne 0x1003bc07
movzx eax, word [ebp - 0x680]
cmp eax, 0x57
jne 0x1003bc07
movzx ecx, word [ebp - 0x460]
cmp ecx, 2
jne 0x1003bc07
lea edx, [ebp - 0x108]
push edx
call fcn.10090280
add esp, 4
movzx eax, byte [ebp + eax - 0x10d]
cmp eax, 0x68
je 0x1003bc07
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x334]
movzx eax, byte [edx + 0x100a5900]
neg eax
sbb eax, eax
inc eax
je 0x1003bc07
jmp 0x1003ce3b
movsx ecx, word [ebp - 0x340]
cmp ecx, 1
jne 0x1003bc78
movzx edx, word [ebp - 0x680]
cmp edx, 0x35
je 0x1003bc78
movzx eax, word [ebp - 0x680]
cmp eax, 0x24
je 0x1003bc78
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x2b
je 0x1003bc78
movzx edx, word [ebp - 0x680]
cmp edx, 0x40
je 0x1003bc78
movzx eax, word [ebp - 0x680]
cmp eax, 0x46
je 0x1003bc78
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x4d
je 0x1003bc78
movzx edx, word [ebp - 0x680]
cmp edx, 0x55
je 0x1003bc78
movzx eax, word [ebp - 0x680]
cmp eax, 0x57
je 0x1003bc78
jmp 0x1003ce3b
movsx ecx, word [ebp - 0x340]
cmp ecx, 1
jne 0x1003bd67
movzx edx, word [ebp - 0x460]
cmp edx, 3
jge 0x1003bd67
movzx eax, word [ebp - 0x680]
cmp eax, 0x55
je 0x1003bd67
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x35
je 0x1003bd67
mov dword [ebp - 0x7a4], 0
movzx edx, word [ebp - 0x680]
cmp edx, 0x40
jne 0x1003bd59
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
test ecx, ecx
je 0x1003bd59
mov edx, dword [ebp + 0xc]
push edx
call fcn.10090280
add esp, 4
mov dword [ebp - 0x7a8], eax
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
cmp ecx, 2
jne 0x1003bd43
movzx edx, word [ebp - 0x120]
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x6d
je 0x1003bd37
movzx edx, word [ebp - 0x120]
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x63
je 0x1003bd37
movzx edx, word [ebp - 0x120]
mov eax, dword [ebp + 0xc]
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x74
jne 0x1003bd43
mov dword [ebp - 0x7a4], 1
jmp 0x1003bd59
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
cmp eax, 2
jle 0x1003bd59
mov dword [ebp - 0x7a4], 1
cmp dword [ebp - 0x7a4], 0
jne 0x1003bd67
jmp 0x1003ce3b
movsx ecx, word [ebp - 0x344]
cmp ecx, 0x2c
jne 0x1003bd90
movzx edx, word [ebp - 0x680]
cmp edx, 0x24
je 0x1003bd90
movzx eax, word [ebp - 0x680]
cmp eax, 0x2b
je 0x1003bd90
jmp 0x1003ce3b
movsx ecx, word [ebp - 0x340]
cmp ecx, 1
jne 0x1003bddd
movzx edx, word [ebp - 0x460]
cmp edx, 2
jle 0x1003bddd
movzx eax, word [ebp - 0x680]
cmp eax, 0x57
je 0x1003bddd
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x35
je 0x1003bddd
movzx edx, word [ebp - 0x680]
cmp edx, 0x46
jne 0x1003bdd8
movzx eax, word [ebp - 0x460]
cmp eax, 3
je 0x1003bddd
jmp 0x1003ce3b
movsx ecx, word [ebp - 0x340]
cmp ecx, 2
jne 0x1003be2a
movzx edx, word [ebp - 0x680]
cmp edx, 0x56
je 0x1003be2a
movzx eax, word [ebp - 0x680]
cmp eax, 0x55
je 0x1003be2a
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x51
je 0x1003be2a
movzx edx, word [ebp - 0x680]
cmp edx, 0x3f
je 0x1003be2a
movzx eax, word [ebp - 0x680]
cmp eax, 0x47
je 0x1003be2a
jmp 0x1003ce3b
movzx ecx, word [ebp - 0x110]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xc]
and eax, 0xe0
cmp eax, 0x80
jne 0x1003be56
movzx ecx, word [ebp - 0x110]
add ecx, 5
mov word [ebp - 0x110], cx
movzx edx, word [ebp - 0x110]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 0xe0
cmp ecx, 0xc0
jne 0x1003be9f
movzx edx, word [ebp - 0x110]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 1
sub ecx, 1
neg ecx
sbb ecx, ecx
inc ecx
movzx edx, word [ebp - 0x110]
lea eax, [edx + ecx*2 + 5]
mov word [ebp - 0x110], ax
movzx ecx, word [ebp - 0x110]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xc]
and eax, 0xe0
cmp eax, 0x20
jne 0x1003beca
movzx ecx, word [ebp - 0x110]
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0xa]
cmp ecx, eax
jl 0x1003befe
movzx ecx, word [ebp - 0x460]
cmp ecx, 4
jge 0x1003bef9
movzx edx, byte [ebp - 0x67b]
cmp edx, 0x33
jle 0x1003bef9
mov ax, word [ebp - 0x460]
add ax, 1
mov word [ebp - 0x460], ax
jmp 0x1003b62f
jmp 0x1003ce3b
movzx ecx, word [ebp - 0x110]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xd]
and eax, 0x40
jne 0x1003bf20
mov word [ebp - 0x230], 1
jmp 0x1003c38d
movzx ecx, byte [ebp - 0x561]
cmp ecx, 1
jne 0x1003bf3d
movzx edx, word [ebp - 0x460]
cmp edx, 3
jg 0x1003bf3d
jmp 0x1003ce3b
movzx eax, word [ebp - 0x110]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xd]
and edx, 0x38
cmp edx, 0x20
jne 0x1003bfe5
mov eax, dword [ebp - 0x678]
movzx ecx, byte [eax]
cmp ecx, 0x61
je 0x1003bf90
mov edx, dword [ebp - 0x678]
movzx eax, byte [edx]
cmp eax, 0x65
je 0x1003bf90
mov ecx, dword [ebp - 0x678]
movzx edx, byte [ecx]
cmp edx, 0x69
je 0x1003bf90
mov eax, dword [ebp - 0x678]
movzx ecx, byte [eax]
cmp ecx, 0x6f
jne 0x1003bfe5
movzx edx, word [ebp - 0x460]
cmp edx, 4
jne 0x1003bfe5
movzx eax, byte [ebp - 0x561]
test eax, eax
jne 0x1003bfb8
movzx ecx, word [ebp - 0x114]
cmp ecx, 2
jne 0x1003bfb8
jmp 0x1003ce3b
movzx edx, byte [ebp - 0x561]
test edx, edx
jne 0x1003bfe0
movzx eax, word [ebp - 0x680]
cmp eax, 0x51
je 0x1003bfdb
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x3f
jne 0x1003bfe0
jmp 0x1003ce3b
jmp 0x1003c38d
movzx edx, byte [ebp - 0x561]
cmp edx, 1
jne 0x1003c046
movzx eax, word [ebp - 0x460]
cmp eax, 4
jne 0x1003c046
movzx ecx, word [ebp - 0x110]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xd]
and eax, 0x38
je 0x1003c041
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x58
jg 0x1003c041
movzx edx, word [ebp - 0x680]
cmp edx, 0x55
jge 0x1003c046
movzx eax, word [ebp - 0x680]
cmp eax, 0x51
je 0x1003c046
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x3f
je 0x1003c046
jmp 0x1003ce3b
movzx edx, byte [ebp - 0x679]
cmp edx, 1
jne 0x1003c083
movzx eax, word [ebp - 0x110]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xd]
and edx, 0x38
jne 0x1003c083
movzx eax, word [ebp - 0x114]
cmp eax, 2
je 0x1003c07e
movzx ecx, byte [ebp - 0x109]
cmp ecx, 1
jne 0x1003c083
jmp 0x1003ce3b
movzx edx, word [ebp - 0x110]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xd]
and ecx, 0x38
je 0x1003c12a
mov edx, dword [ebp - 0x678]
movzx eax, byte [edx]
cmp eax, 0x65
je 0x1003c0b7
mov ecx, dword [ebp - 0x678]
movzx edx, byte [ecx]
cmp edx, 0x69
jne 0x1003c12a
movzx eax, byte [ebp - 0x679]
test eax, eax
jne 0x1003c12a
movzx ecx, word [ebp - 0x120]
movzx edx, word [ebp - 0x114]
sub ecx, edx
movzx eax, byte [ebp + ecx - 0x330]
cmp eax, 0x69
jne 0x1003c12a
movzx ecx, word [ebp - 0x460]
cmp ecx, 3
jge 0x1003c12a
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x114]
sub edx, eax
movzx ecx, byte [ebp + edx - 0x331]
cmp ecx, 0x63
je 0x1003c125
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x114]
sub edx, eax
movzx ecx, byte [ebp + edx - 0x331]
cmp ecx, 0x67
jne 0x1003c12a
jmp 0x1003ce3b
movzx edx, word [ebp - 0x110]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xd]
and ecx, 0x38
je 0x1003c1c6
mov edx, dword [ebp - 0x678]
movzx eax, byte [edx]
cmp eax, 0x65
je 0x1003c15e
mov ecx, dword [ebp - 0x678]
movzx edx, byte [ecx]
cmp edx, 0x69
jne 0x1003c1c6
movzx eax, byte [ebp - 0x679]
test eax, eax
jne 0x1003c1c6
movzx ecx, word [ebp - 0x460]
cmp ecx, 3
jge 0x1003c1c6
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x114]
sub edx, eax
movzx ecx, byte [ebp + edx - 0x330]
cmp ecx, 0x63
je 0x1003c1af
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x114]
sub edx, eax
movzx ecx, byte [ebp + edx - 0x330]
cmp ecx, 0x67
jne 0x1003c1c6
mov dx, word [ebp - 0x460]
add dx, 1
mov word [ebp - 0x460], dx
jmp 0x1003b62f
movzx eax, word [ebp - 0x110]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xd]
and edx, 0x38
je 0x1003c250
movzx eax, byte [ebp - 0x679]
cmp eax, 1
jne 0x1003c250
mov ecx, dword [ebp - 0x678]
movzx edx, byte [ecx]
cmp edx, 0x65
jne 0x1003c250
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x114]
sub eax, ecx
movzx edx, byte [ebp + eax - 0x330]
cmp edx, 0x69
jne 0x1003c250
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x114]
sub eax, ecx
movzx edx, byte [ebp + eax - 0x331]
cmp edx, 0x63
je 0x1003c24b
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x114]
sub eax, ecx
movzx edx, byte [ebp + eax - 0x331]
cmp edx, 0x67
jne 0x1003c250
jmp 0x1003ce3b
movzx eax, word [ebp - 0x110]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xd]
and edx, 0x38
je 0x1003c2cb
movzx eax, byte [ebp - 0x679]
cmp eax, 1
jne 0x1003c2cb
mov ecx, dword [ebp - 0x678]
movzx edx, byte [ecx]
cmp edx, 0x6f
je 0x1003c28c
mov eax, dword [ebp - 0x678]
movzx ecx, byte [eax]
cmp ecx, 0x61
jne 0x1003c2cb
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x114]
sub edx, eax
movzx ecx, byte [ebp + edx - 0x330]
cmp ecx, 0x63
je 0x1003c2c6
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x114]
sub edx, eax
movzx ecx, byte [ebp + edx - 0x330]
cmp ecx, 0x67
jne 0x1003c2cb
jmp 0x1003ce3b
movzx edx, word [ebp - 0x110]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xd]
and ecx, 0x38
je 0x1003c326
mov edx, dword [ebp - 0x678]
movzx eax, byte [edx]
cmp eax, 0x7e
je 0x1003c309
mov ecx, dword [ebp - 0x678]
movzx edx, byte [ecx]
cmp edx, 0x6f
je 0x1003c309
mov eax, dword [ebp - 0x678]
movzx ecx, byte [eax]
cmp ecx, 0x61
jne 0x1003c326
movzx edx, word [ebp - 0x460]
cmp edx, 3
jge 0x1003c326
movzx eax, byte [ebp - 0x115]
cmp eax, 1
jne 0x1003c326
jmp 0x1003ce3b
movzx ecx, byte [ebp - 0x679]
cmp ecx, 1
jne 0x1003c38d
movzx edx, word [ebp - 0x114]
cmp edx, 2
jne 0x1003c38d
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x331]
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x332]
cmp ecx, eax
je 0x1003c38d
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x331]
cmp edx, 0x69
je 0x1003c38d
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x332]
cmp ecx, 0x69
je 0x1003c38d
jmp 0x1003ce3b
movzx edx, word [ebp - 0x110]
test edx, edx
je 0x1003c3d5
movzx eax, word [ebp - 0x110]
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 0xa]
sub edx, eax
mov eax, dword [ebp + 8]
mov word [eax + 0xa], dx
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 0xa]
push edx
movzx eax, word [ebp - 0x110]
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0xc]
push edx
mov eax, dword [ebp + 8]
add eax, 0xc
push eax
call fcn.10022300
add esp, 0xc
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xd]
and edx, 0x38
cmp edx, 0x20
jne 0x1003c477
movzx eax, byte [ebp - 0x679]
test eax, eax
jne 0x1003c477
mov ecx, dword [ebp - 0x678]
movzx edx, byte [ecx]
cmp edx, 0x69
jne 0x1003c477
movzx eax, word [ebp - 0x568]
movzx ecx, byte [ebp + eax - 0x331]
cmp ecx, 0x68
je 0x1003c477
movzx edx, word [ebp - 0x680]
cmp edx, 0x35
je 0x1003c477
push 3
lea eax, [ebp - 0x108]
push eax
call fcn.10090280
add esp, 4
lea ecx, [ebp + eax - 0x10b]
push ecx
push 0x100a0a38
call fcn.10091230
add esp, 0xc
test eax, eax
je 0x1003c477
movzx edx, word [ebp - 0x460]
cmp edx, 4
jge 0x1003c472
mov ax, word [ebp - 0x460]
add ax, 1
mov word [ebp - 0x460], ax
jmp 0x1003b62f
jmp 0x1003ce3b
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xf]
and edx, 4
jne 0x1003c4c4
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xf]
and ecx, 1
jne 0x1003c4c4
movzx edx, word [ebp - 0x460]
cmp edx, 3
jne 0x1003c4c4
movzx eax, word [ebp - 0x680]
cmp eax, 0x34
je 0x1003c4bf
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x33
je 0x1003c4bf
movzx edx, word [ebp - 0x680]
cmp edx, 0xb
jne 0x1003c4c4
jmp 0x1003ce3b
mov eax, dword [ebp - 0x678]
push eax
call fcn.10090280
add esp, 4
mov ecx, dword [ebp - 0x678]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x570], edx
mov eax, dword [ebp - 0x570]
movzx ecx, byte [eax]
cmp ecx, 0x31
je 0x1003c501
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
or eax, 1
mov ecx, dword [ebp + 8]
mov byte [ecx + 1], al
mov edx, dword [ebp - 0x570]
movzx eax, byte [edx + 2]
cmp eax, 0x69
jne 0x1003c5b0
mov ecx, dword [ebp - 0x570]
movzx edx, byte [ecx + 3]
cmp edx, 0x70
jne 0x1003c5b0
movzx eax, byte [ebp - 0x562]
cmp eax, 1
jne 0x1003c58b
lea ecx, [ebp - 0x108]
push ecx
call fcn.10090280
add esp, 4
movzx edx, byte [ebp + eax - 0x10b]
cmp edx, 0x65
je 0x1003c56b
lea eax, [ebp - 0x108]
push eax
call fcn.10090280
add esp, 4
movzx ecx, byte [ebp + eax - 0x10b]
cmp ecx, 0x69
jne 0x1003c58b
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
or eax, 0x60
mov ecx, dword [ebp + 8]
mov byte [ecx + 1], al
mov byte [ebp - 0x67b], 0x43
mov byte [ebp - 0x116], 0
jmp 0x1003c5ab
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
or eax, 0x80
mov ecx, dword [ebp + 8]
mov byte [ecx + 1], al
mov byte [ebp - 0x67b], 0x49
mov byte [ebp - 0x116], 0
jmp 0x1003c7f3
mov edx, dword [ebp - 0x570]
movzx eax, byte [edx + 2]
cmp eax, 0x69
jne 0x1003c5f4
mov ecx, dword [ebp - 0x570]
movzx edx, byte [ecx + 3]
cmp edx, 0x66
jne 0x1003c5f4
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
or ecx, 0xe0
mov edx, dword [ebp + 8]
mov byte [edx + 1], cl
mov byte [ebp - 0x67b], 0x49
mov byte [ebp - 0x116], 6
jmp 0x1003c7f3
mov eax, dword [ebp - 0x570]
movzx ecx, byte [eax + 2]
cmp ecx, 0x69
jne 0x1003c638
mov edx, dword [ebp - 0x570]
movzx eax, byte [edx + 3]
cmp eax, 0x69
jne 0x1003c638
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
or edx, 0xc0
mov eax, dword [ebp + 8]
mov byte [eax + 1], dl
mov byte [ebp - 0x67b], 0x49
mov byte [ebp - 0x116], 4
jmp 0x1003c7f3
mov ecx, dword [ebp - 0x570]
movzx edx, byte [ecx + 2]
cmp edx, 0x69
jne 0x1003c67b
mov eax, dword [ebp - 0x570]
movzx ecx, byte [eax + 3]
cmp ecx, 0x72
jne 0x1003c67b
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
or eax, 0xa0
mov ecx, dword [ebp + 8]
mov byte [ecx + 1], al
mov byte [ebp - 0x67b], 0x49
mov byte [ebp - 0x116], 2
jmp 0x1003c7f3
mov edx, dword [ebp - 0x570]
movzx eax, byte [edx + 2]
cmp eax, 0x63
jne 0x1003c6bf
mov ecx, dword [ebp - 0x570]
movzx edx, byte [ecx + 3]
cmp edx, 0x72
jne 0x1003c6bf
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
or ecx, 0xf0
mov edx, dword [ebp + 8]
mov byte [edx + 1], cl
mov byte [ebp - 0x67b], 0x4e
mov byte [ebp - 0x116], 0
jmp 0x1003c7f3
mov eax, dword [ebp - 0x570]
movzx ecx, byte [eax + 2]
cmp ecx, 0x67
jne 0x1003c700
mov edx, dword [ebp - 0x570]
movzx eax, byte [edx + 3]
cmp eax, 0x65
jne 0x1003c700
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
or edx, 0x40
mov eax, dword [ebp + 8]
mov byte [eax + 1], dl
mov byte [ebp - 0x67b], 0x47
mov byte [ebp - 0x116], 0
jmp 0x1003c7f3
mov ecx, dword [ebp - 0x570]
movzx edx, byte [ecx + 2]
cmp edx, 0x63
jne 0x1003c779
mov eax, dword [ebp - 0x570]
movzx ecx, byte [eax + 3]
cmp ecx, 0x70
jne 0x1003c779
movzx edx, byte [ebp - 0x679]
cmp edx, 1
jne 0x1003c759
movzx eax, word [ebp - 0x680]
cmp eax, 0x36
jne 0x1003c759
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
or edx, 0x80
mov eax, dword [ebp + 8]
mov byte [eax + 1], dl
mov byte [ebp - 0x67b], 0x49
mov byte [ebp - 0x116], 0
jmp 0x1003c777
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
or edx, 0x60
mov eax, dword [ebp + 8]
mov byte [eax + 1], dl
mov byte [ebp - 0x67b], 0x43
mov byte [ebp - 0x116], 0
jmp 0x1003c7f3
mov ecx, dword [ebp - 0x570]
movzx edx, byte [ecx + 2]
cmp edx, 0x63
jne 0x1003c7b7
mov eax, dword [ebp - 0x570]
movzx ecx, byte [eax + 3]
cmp ecx, 0x69
jne 0x1003c7b7
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
or eax, 0x50
mov ecx, dword [ebp + 8]
mov byte [ecx + 1], al
mov byte [ebp - 0x67b], 0x43
mov byte [ebp - 0x116], 4
jmp 0x1003c7f3
mov edx, dword [ebp - 0x570]
movzx eax, byte [edx + 2]
cmp eax, 0x69
jne 0x1003c7f3
mov ecx, dword [ebp - 0x570]
movzx edx, byte [ecx + 3]
cmp edx, 0x6d
jne 0x1003c7f3
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
or ecx, 0x70
mov edx, dword [ebp + 8]
mov byte [edx + 1], cl
mov byte [ebp - 0x67b], 0x4d
mov byte [ebp - 0x116], 0
mov eax, dword [ebp - 0x570]
movzx ecx, byte [eax + 4]
mov dword [ebp - 0x9c8], ecx
mov edx, dword [ebp - 0x9c8]
sub edx, 0x31
mov dword [ebp - 0x9c8], edx
cmp dword [ebp - 0x9c8], 7
ja case.default.0x1003c825
mov eax, dword [ebp - 0x9c8]
jmp dword [eax*4 + 0x100405dd]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
or edx, 0xe
mov eax, dword [ebp + 8]
mov byte [eax + 1], dl
mov byte [ebp - 0x67a], 1
jmp case.default.0x1003c825
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
or edx, 0xc
mov eax, dword [ebp + 8]
mov byte [eax + 1], dl
mov byte [ebp - 0x67a], 2
jmp case.default.0x1003c825
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
or edx, 0xa
mov eax, dword [ebp + 8]
mov byte [eax + 1], dl
mov byte [ebp - 0x67a], 3
jmp case.default.0x1003c825
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
or edx, 8
mov eax, dword [ebp + 8]
mov byte [eax + 1], dl
mov byte [ebp - 0x67a], 4
jmp case.default.0x1003c825
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
or edx, 6
mov eax, dword [ebp + 8]
mov byte [eax + 1], dl
mov byte [ebp - 0x67a], 5
jmp case.default.0x1003c825
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
or edx, 4
mov eax, dword [ebp + 8]
mov byte [eax + 1], dl
mov byte [ebp - 0x67a], 6
jmp case.default.0x1003c825
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
or edx, 2
mov eax, dword [ebp + 8]
mov byte [eax + 1], dl
mov byte [ebp - 0x67a], 7
jmp case.default.0x1003c825
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 8]
mov al, byte [edx + 1]
mov byte [ecx + 1], al
mov byte [ebp - 0x67a], 8
movzx ecx, word [ebp - 0x114]
cmp ecx, 2
jne 0x1003c9af
mov edx, dword [ebp - 0x678]
movzx eax, byte [edx]
cmp eax, 0x61
jne 0x1003c9af
push 3
lea ecx, [ebp - 0x108]
push ecx
call fcn.10090280
add esp, 4
lea edx, [ebp + eax - 0x10b]
push edx
push 0x100a0a3c
call fcn.10091230
add esp, 0xc
test eax, eax
je 0x1003c96a
push 3
lea eax, [ebp - 0x108]
push eax
call fcn.10090280
add esp, 4
lea ecx, [ebp + eax - 0x10b]
push ecx
push 0x100a0a40
call fcn.10091230
add esp, 0xc
test eax, eax
jne 0x1003c9af
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
and eax, 1
mov ecx, dword [ebp + 8]
mov byte [ecx + 1], al
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
or eax, 0x60
mov ecx, dword [ebp + 8]
mov byte [ecx + 1], al
mov byte [ebp - 0x67b], 0x43
mov byte [ebp - 0x116], 0
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 1]
or eax, 2
mov ecx, dword [ebp + 8]
mov byte [ecx + 1], al
mov byte [ebp - 0x67a], 7
lea edx, [ebp - 0x108]
push edx
push 0xffffffffffffffff
mov eax, dword [ebp + 8]
add eax, 0x10c
push eax
call fcn.10022300
add esp, 0xc
movzx ecx, word [ebp - 0x230]
cmp ecx, 1
je 0x1003c9f5
movzx edx, byte [ebp - 0x115]
cmp edx, 1
jne 0x1003cbe1
movzx eax, word [ebp - 0x460]
cmp eax, 4
jne 0x1003cbe1
mov ecx, dword [ebp + 8]
mov dx, word [ecx + 0xa]
mov word [ebp - 0x338], dx
movzx eax, word [ebp - 0x338]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0xc
push ecx
lea edx, [ebp - 0x9b0]
push edx
call fcn.10022300
add esp, 0xc
mov eax, dword [ebp + 8]
add eax, 0x10c
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x8b0]
push ecx
call fcn.10022300
add esp, 0xc
push 0
mov dl, byte [ebp - 0x67a]
push edx
mov al, byte [ebp - 0x116]
push eax
call fcn.10022300
add esp, 4
push eax
mov cl, byte [ebp - 0x67b]
push ecx
call fcn.10022300
add esp, 4
push eax
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
lea eax, [ebp - 0x8b0]
push eax
call fcn.10022300
movzx ecx, byte [ebp - 0x108]
test ecx, ecx
je 0x1003caa6
push 0x100a0a44
push 0x100a0a4c
lea edx, [ebp - 0x108]
push edx
push pe_nt_image_headers32
lea eax, [ebp - 0x108]
push eax
call fcn.10022300
lea ecx, [ebp - 0x108]
push ecx
call fcn.10090280
add esp, 4
mov word [ebp - 0x7ac], ax
movzx edx, word [ebp - 0x120]
movsx eax, word [ebp - 0x7ac]
cmp edx, eax
jne 0x1003caf4
movsx ecx, word [ebp - 0x7ac]
push ecx
lea edx, [ebp - 0x330]
push edx
lea eax, [ebp - 0x108]
push eax
call fcn.10091230
add esp, 0xc
test eax, eax
je 0x1003cbb5
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x45
je 0x1003cb30
movzx edx, word [ebp - 0x680]
cmp edx, 0x55
je 0x1003cb30
movzx eax, word [ebp - 0x680]
cmp eax, 0x2d
je 0x1003cb30
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x17
je 0x1003cb30
movzx edx, word [ebp - 0x680]
cmp edx, 6
jne 0x1003cb68
movzx eax, byte [ebp - 0x679]
test eax, eax
jne 0x1003cb68
movzx ecx, word [ebp - 0x460]
cmp ecx, 1
jne 0x1003cb68
mov dx, word [ebp - 0x460]
add dx, 1
mov word [ebp - 0x460], dx
mov dword [ebp - 0x11c], 0xf42400
jmp 0x1003b62f
movzx eax, byte [ebp - 0x9ad]
and eax, 4
je 0x1003cba6
movzx ecx, word [ebp - 0x460]
cmp ecx, 3
jne 0x1003cba6
movzx edx, word [ebp - 0x680]
cmp edx, 0x34
je 0x1003cba4
movzx eax, word [ebp - 0x680]
cmp eax, 0x33
je 0x1003cba4
movzx ecx, word [ebp - 0x680]
cmp ecx, 0xb
jne 0x1003cba6
jmp 0x1003cbb5
mov dword [ebp - 0x11c], 0xf42400
jmp 0x1003ce3b
mov edx, dword [ebp + 8]
mov ax, word [ebp - 0x338]
mov word [edx + 0xa], ax
movzx ecx, word [ebp - 0x338]
push ecx
lea edx, [ebp - 0x9b0]
push edx
mov eax, dword [ebp + 8]
add eax, 0xc
push eax
call fcn.10022300
add esp, 0xc
movsx ecx, word [ebp - 0x348]
test ecx, ecx
jne 0x1003cbf7
mov edx, dword [ebp + 8]
mov byte [edx], 1
jmp 0x1003cd9f
mov eax, dword [ebp + 0xc]
push eax
call fcn.10090280
add esp, 4
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + eax - 2]
cmp edx, 0x6c
jne 0x1003cc1b
mov word [ebp - 0x568], 3
jmp 0x1003cc24
mov word [ebp - 0x568], 4
mov eax, dword [ebp + 8]
add eax, 0x10c
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x670]
push ecx
call fcn.10022300
add esp, 0xc
push 0xffffffffffffffff
lea edx, [ebp - 0x670]
push edx
mov ax, word [ebp - 0x568]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp + 8]
add ecx, 0xc
push ecx
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.10022300
add esp, 0x1c
mov word [ebp - 0x568], ax
movzx eax, word [ebp - 0x568]
cmp eax, 1
jne 0x1003cd95
mov ecx, dword [ebp + 8]
mov byte [ecx], 3
movsx edx, word [ebp - 0x340]
cmp edx, 1
jne 0x1003cd93
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
and ecx, 1
mov edx, dword [ebp + 8]
mov byte [edx + 1], cl
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
or ecx, 0x70
mov edx, dword [ebp + 8]
mov byte [edx + 1], cl
movzx eax, word [ebp - 0x680]
cmp eax, 0x35
jne 0x1003ccd4
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
or edx, 8
mov eax, dword [ebp + 8]
mov byte [eax + 1], dl
jmp 0x1003cd93
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x40
je 0x1003ccf8
movzx edx, word [ebp - 0x680]
cmp edx, 0x46
je 0x1003ccf8
movzx eax, word [ebp - 0x680]
cmp eax, 0x4d
jne 0x1003cd0d
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 1]
or edx, 6
mov eax, dword [ebp + 8]
mov byte [eax + 1], dl
jmp 0x1003cd93
movsx ecx, word [ebp - 0x674]
movzx edx, byte [ebp + ecx - 0x330]
cmp edx, 0x69
jne 0x1003cd49
lea eax, [ebp - 0x108]
push eax
call fcn.10090280
add esp, 4
movzx ecx, byte [ebp + eax - 0x10b]
cmp ecx, 0x61
jne 0x1003cd49
mov dword [ebp - 0x11c], 0xf42400
jmp 0x1003cd83
movsx edx, word [ebp - 0x674]
movzx eax, byte [ebp + edx - 0x330]
cmp eax, 0x61
jne 0x1003cd83
lea ecx, [ebp - 0x108]
push ecx
call fcn.10090280
add esp, 4
movzx edx, byte [ebp + eax - 0x10b]
cmp edx, 0x69
jne 0x1003cd83
mov dword [ebp - 0x11c], 0xf42400
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 1]
or ecx, 0xc
mov edx, dword [ebp + 8]
mov byte [edx + 1], cl
jmp 0x1003cd9f
mov dword [ebp - 0x11c], 0xf42400
mov eax, dword [ebp + 8]
cmp dword [eax + 0x31c], 1
jne 0x1003cde9
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x5a
jne 0x1003cde9
movzx edx, word [ebp - 0x120]
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x324]
movzx edx, byte [ecx + edx - 1]
cmp edx, 0xe8
jne 0x1003cde9
movzx eax, word [ebp - 0x120]
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x324]
mov byte [eax + edx - 1], 0xe9
jmp 0x1004048a
movzx eax, word [ebp - 0x114]
mov ecx, dword [ebp - 0x678]
lea edx, [ecx + eax + 2]
mov dword [ebp - 0x678], edx
mov eax, dword [ebp - 0x678]
movzx ecx, byte [eax]
sub ecx, 0x30
imul ecx, ecx, 5
mov edx, dword [ebp - 0x678]
lea eax, [edx + ecx + 3]
mov dword [ebp - 0x678], eax
mov cx, word [ebp - 0x680]
add cx, 1
mov word [ebp - 0x680], cx
jmp 0x1003ae87
movsx edx, word [ebp - 0x348]
test edx, edx
jne 0x1003ce84
movzx eax, word [ebp - 0x114]
cmp eax, 2
jg 0x1003cea8
movzx ecx, word [ebp - 0x114]
cmp ecx, 3
jne 0x1003ce84
mov edx, dword [ebp - 0x678]
movzx eax, byte [edx]
mov ecx, dword [ebp - 0x678]
movzx edx, byte [ecx + 1]
cmp eax, edx
jne 0x1003ce84
mov eax, dword [ebp - 0x678]
movzx ecx, byte [eax + 1]
cmp ecx, 0x69
je 0x1003cea8
movsx edx, word [ebp - 0x340]
cmp edx, 1
jne 0x1003cec6
movzx eax, word [ebp - 0x680]
cmp eax, 0x34
je 0x1003cea8
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x4f
jne 0x1003cec6
mov dx, word [ebp - 0x114]
sub dx, 1
mov word [ebp - 0x114], dx
mov byte [ebp - 0x679], 0
jmp 0x1003cdee
movzx eax, word [ebp - 0x120]
mov byte [ebp + eax - 0x330], 0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0x31c]
push edx
lea eax, [ebp - 0x11c]
push eax
mov ecx, dword [ebp + 0xc]
push ecx
mov dx, word [ebp - 0x348]
push edx
mov ax, word [ebp - 0x120]
push eax
lea ecx, [ebp - 0x330]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10022300
add esp, 0x1c
mov word [ebp - 0x34c], ax
movzx eax, word [ebp - 0x34c]
test eax, eax
je 0x1003cf30
movsx ecx, word [ebp - 0x458]
test ecx, ecx
jne 0x1003cf30
jmp 0x1004048a
mov word [ebp - 0x680], 0
mov word [ebp - 0x568], 0
movzx edx, word [ebp - 0x120]
mov byte [ebp + edx - 0x330], 0
mov eax, dword [0x100a5e84]
mov dword [ebp - 0x454], eax
mov ecx, 1
test ecx, ecx
je 0x1003d644
movzx edx, word [ebp - 0x120]
cmp edx, 4
jle 0x1003d644
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x318]
test ecx, ecx
jne 0x1003d644
push 2
movzx edx, byte [ebp - 0x330]
mov eax, dword [ebp - 0x454]
lea ecx, [eax + edx*2 - 0xc2]
push ecx
lea edx, [ebp - 0x34c]
push edx
call fcn.10022300
add esp, 0xc
push 2
movzx eax, byte [ebp - 0x330]
mov ecx, dword [ebp - 0x454]
lea edx, [ecx + eax*2 - 0xc0]
push edx
lea eax, [ebp - 0x680]
push eax
call fcn.10022300
add esp, 0xc
movzx ecx, byte [ebp - 0x330]
cmp ecx, 0x7a
jne 0x1003cffa
mov word [ebp - 0x34c], 0
mov dx, word [ebp - 0x34c]
mov word [ebp - 0x680], dx
movzx eax, word [ebp - 0x680]
movzx ecx, word [ebp - 0x34c]
cmp eax, ecx
jle 0x1003d029
movzx edx, word [ebp - 0x680]
cmp edx, 0x7d0
jg 0x1003d029
movzx eax, word [ebp - 0x34c]
cmp eax, 0x7d0
jle 0x1003d02e
jmp 0x1003d644
mov ecx, dword [ebp - 0x454]
add ecx, 0x34
mov dword [ebp - 0x454], ecx
mov dx, word [ebp - 0x34c]
mov word [ebp - 0x114], dx
jmp 0x1003d05f
mov ax, word [ebp - 0x114]
add ax, 1
mov word [ebp - 0x114], ax
movzx ecx, word [ebp - 0x114]
movzx edx, word [ebp - 0x680]
cmp ecx, edx
jge 0x1003d644
movzx eax, word [ebp - 0x114]
mov ecx, dword [ebp - 0x454]
movzx edx, byte [ecx + eax + 1]
movzx eax, byte [ebp - 0x32f]
cmp edx, eax
jle 0x1003d097
jmp 0x1003d644
movzx ecx, word [ebp - 0x114]
add ecx, dword [ebp - 0x454]
push ecx
call fcn.10090280
add esp, 4
sub eax, 1
mov word [ebp - 0x568], ax
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x568]
sub edx, eax
sub edx, 1
cmp edx, 3
jl 0x1003d626
movzx ecx, word [ebp - 0x568]
test ecx, ecx
je 0x1003d14d
movzx edx, word [ebp - 0x568]
movzx eax, byte [ebp + edx - 0x330]
movzx ecx, word [ebp - 0x114]
movzx edx, word [ebp - 0x568]
add edx, dword [ebp - 0x454]
movzx ecx, byte [edx + ecx]
cmp eax, ecx
jne 0x1003d626
movzx edx, word [ebp - 0x568]
cmp edx, 1
je 0x1003d14d
movzx eax, word [ebp - 0x568]
sub eax, 1
push eax
movzx ecx, word [ebp - 0x114]
mov edx, dword [ebp - 0x454]
lea eax, [edx + ecx + 1]
push eax
lea ecx, [ebp - 0x32f]
push ecx
call fcn.10091230
add esp, 0xc
test eax, eax
jne 0x1003d626
lea edx, [ebp - 0x330]
push edx
call fcn.10022300
add esp, 4
movzx eax, al
test eax, eax
je 0x1003d626
push 0
movzx ecx, word [ebp - 0x568]
lea edx, [ebp + ecx - 0x32f]
push edx
call fcn.10022300
add esp, 8
movzx eax, ax
test eax, eax
je 0x1003d626
push 0xffffffffffffffff
movzx ecx, word [ebp - 0x568]
lea edx, [ebp + ecx - 0x32f]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003d626
mov word [ebp - 4], 0
movzx ecx, word [ebp - 4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xc]
and eax, 0xe0
mov byte [ebp - 0x67a], al
movzx ecx, byte [ebp - 0x67a]
cmp ecx, 0x40
jne 0x1003d5bf
movsx edx, word [ebp - 0x348]
test edx, edx
jle 0x1003d2e8
movzx eax, word [ebp - 4]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xd]
and edx, 0xe0
cmp edx, 0x80
je 0x1003d2e8
movzx eax, word [ebp - 4]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xd]
and edx, 0xe0
cmp edx, 0x60
je 0x1003d2e8
lea eax, [ebp - 0x330]
push eax
call fcn.10090280
add esp, 4
mov ecx, dword [ebp + 0xc]
mov dl, byte [ecx + eax]
mov byte [ebp - 0x67b], dl
push 0x50
movzx eax, word [ebp - 4]
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0xc]
push edx
lea eax, [ebp - 0x450]
push eax
call fcn.10022300
add esp, 0xc
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 0xa]
movzx eax, word [ebp - 4]
sub edx, eax
mov word [ebp - 0x34c], dx
movzx ecx, word [ebp - 0x568]
lea edx, [ebp + ecx - 0x32f]
push edx
lea eax, [ebp - 4]
push eax
mov cl, byte [ebp - 0x67b]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10022300
add esp, 0x10
mov word [ebp - 0x110], ax
movzx eax, word [ebp - 0x110]
test eax, eax
jne 0x1003d2bc
jmp 0x1003d644
push 0x50
lea ecx, [ebp - 0x450]
push ecx
mov edx, dword [ebp + 8]
add edx, 0xc
push edx
call fcn.10022300
add esp, 0xc
mov eax, dword [ebp + 8]
mov cx, word [ebp - 0x34c]
mov word [eax + 0xa], cx
mov word [ebp - 4], 0
push 0x50
movzx edx, word [ebp - 4]
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0xc]
push ecx
lea edx, [ebp - 0x450]
push edx
call fcn.10022300
add esp, 0xc
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0xa]
movzx edx, word [ebp - 4]
sub ecx, edx
mov word [ebp - 0x34c], cx
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
movzx ecx, word [ebp - 4]
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0xc]
push eax
call fcn.10022300
add esp, 0xc
movzx ecx, word [ebp - 0x568]
add ecx, 1
push ecx
lea edx, [ebp - 0x330]
push edx
mov eax, dword [ebp + 8]
add eax, 0xc
push eax
call fcn.10022300
add esp, 0xc
movzx ecx, word [ebp - 0x568]
mov edx, dword [ebp + 8]
mov byte [edx + ecx + 0xd], 0
lea eax, [ebp - 0x108]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp + 8]
add ecx, 0xc
push ecx
call fcn.10022300
add esp, 0xc
mov edx, dword [ebp + 8]
add edx, 0xc
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x670]
push eax
call fcn.10022300
add esp, 0xc
push 0xffffffffffffffff
mov ecx, dword [ebp + 8]
add ecx, 0xc
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003d5bd
mov word [ebp - 0x56c], 0
movzx eax, word [ebp - 0x56c]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xc]
and edx, 0xe0
cmp edx, 0xc0
jne 0x1003d413
movzx eax, word [ebp - 0x56c]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xc]
and edx, 1
sub edx, 1
neg edx
sbb edx, edx
inc edx
movzx eax, word [ebp - 0x56c]
lea ecx, [eax + edx*2 + 5]
mov word [ebp - 0x56c], cx
movzx edx, word [ebp - 0x56c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xd]
and ecx, 0x40
je 0x1003d42c
jmp 0x1003d644
movzx edx, word [ebp - 0x56c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 0xe0
cmp ecx, 0x20
jne 0x1003d45a
movzx edx, word [ebp - 0x56c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xd]
and ecx, 0x38
je 0x1003d490
movzx edx, word [ebp - 0x56c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 0xe0
cmp ecx, 0x20
jne 0x1003d55e
movzx edx, word [ebp - 0x56c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xd]
and ecx, 0x40
jne 0x1003d55e
movsx edx, word [ebp - 0x348]
test edx, edx
jle 0x1003d524
mov eax, dword [ebp + 0xc]
push eax
call fcn.10090280
add esp, 4
mov ecx, dword [ebp + 0xc]
movzx edx, byte [ecx + eax - 2]
cmp edx, 0x6c
jne 0x1003d4c3
mov word [ebp - 0x9b4], 3
jmp 0x1003d4cc
mov word [ebp - 0x9b4], 4
push 0xffffffffffffffff
lea eax, [ebp - 0x670]
push eax
mov cx, word [ebp - 0x9b4]
push ecx
push 0xffffffffffffffff
movzx edx, word [ebp - 0x56c]
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0xc]
push ecx
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.10022300
add esp, 0x1c
mov word [ebp - 0x9b4], ax
movzx eax, word [ebp - 0x9b4]
cmp eax, 1
jne 0x1003d51a
mov ecx, dword [ebp + 8]
mov word [ecx + 4], 1
jmp 0x1003d524
mov dword [ebp - 0x11c], 0xf42400
push 0x50
lea edx, [ebp - 0x450]
push edx
mov eax, dword [ebp + 8]
add eax, 0xc
push eax
call fcn.10022300
add esp, 0xc
mov ecx, dword [ebp + 8]
mov dx, word [ebp - 0x34c]
mov word [ecx + 0xa], dx
movzx eax, word [ebp - 0x568]
add eax, 1
mov ecx, dword [ebp + 8]
mov byte [ecx], al
jmp 0x1004048a
movzx edx, word [ebp - 0x56c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 0xe0
cmp ecx, 0xc0
jne 0x1003d5b8
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0xa]
cmp eax, 5
jle 0x1003d5b8
movzx ecx, word [ebp - 0x56c]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xc]
and eax, 1
sub eax, 1
neg eax
sbb eax, eax
inc eax
movzx ecx, word [ebp - 0x56c]
lea edx, [ecx + eax*2 + 5]
mov word [ebp - 0x56c], dx
jmp 0x1003d42c
jmp 0x1003d644
jmp 0x1003d626
movzx eax, byte [ebp - 0x67a]
cmp eax, 0x80
jne 0x1003d5da
movzx ecx, word [ebp - 4]
add ecx, 5
mov word [ebp - 4], cx
jmp 0x1003d610
movzx edx, byte [ebp - 0x67a]
cmp edx, 0xc0
jne 0x1003d60e
movzx eax, word [ebp - 4]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xc]
and edx, 1
sub edx, 1
neg edx
sbb edx, edx
inc edx
movzx eax, word [ebp - 4]
lea ecx, [eax + edx*2 + 5]
mov word [ebp - 4], cx
jmp 0x1003d610
jmp 0x1003d644
movzx edx, word [ebp - 4]
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0xa]
cmp edx, ecx
jl 0x1003d621
jmp 0x1003d644
jmp 0x1003d1c4
movzx edx, word [ebp - 0x568]
movzx eax, word [ebp - 0x114]
lea ecx, [eax + edx + 1]
mov word [ebp - 0x114], cx
jmp 0x1003d04d
mov dword [ebp - 0x11c], 0xf42400
movsx edx, word [ebp - 0x348]
test edx, edx
jle 0x1003d65e
jmp 0x1003e885
movzx eax, word [ebp - 0x120]
cmp eax, 7
jle 0x1003d6da
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x331]
cmp edx, 0x69
jne 0x1003d6da
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x333]
cmp ecx, 0x69
jne 0x1003d6da
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x332]
cmp eax, 0x73
jne 0x1003d6da
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x334]
cmp edx, 0x76
je 0x1003d6ce
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x334]
cmp ecx, 0x63
jne 0x1003d6da
mov edx, dword [ebp + 8]
mov byte [edx + 3], 1
jmp 0x1003d83a
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x318]
test ecx, ecx
jne 0x1003dbc0
movzx edx, word [ebp - 0x120]
cmp edx, 6
jle 0x1003dbc0
push 2
push 0x100a0a54
movzx eax, word [ebp - 0x120]
lea ecx, [ebp + eax - 0x333]
push ecx
call fcn.10091230
add esp, 0xc
test eax, eax
je 0x1003d744
push 3
push 0x100a0a58
movzx edx, word [ebp - 0x120]
lea eax, [ebp + edx - 0x333]
push eax
call fcn.10091230
add esp, 0xc
test eax, eax
jne 0x1003dbc0
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x331]
cmp edx, 0x61
je 0x1003d798
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x331]
cmp ecx, 0x65
je 0x1003d798
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x331]
cmp eax, 0x69
je 0x1003d798
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x331]
cmp edx, 0x6f
jne 0x1003dbc0
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x334]
cmp ecx, 0x6d
je 0x1003d83a
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x334]
cmp eax, 0x74
jne 0x1003d7d8
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x335]
cmp edx, 0x65
jne 0x1003d83a
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x334]
cmp ecx, 0x73
je 0x1003d83a
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x334]
cmp eax, 0x63
je 0x1003d83a
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x334]
cmp edx, 0x76
je 0x1003d83a
push 3
push 0x100a0a5c
movzx eax, word [ebp - 0x120]
lea ecx, [ebp + eax - 0x336]
push ecx
call fcn.10091230
add esp, 0xc
test eax, eax
jne 0x1003dbc0
movzx edx, word [ebp - 0x120]
sub edx, 4
cmp edx, 3
jg 0x1003d868
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x335]
movzx edx, byte [ecx + 0x100a5900]
test edx, edx
je 0x1003d868
jmp 0x1003dbc0
mov word [ebp - 0x34c], 0
lea eax, [ebp - 0x330]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x334]
cmp eax, 0x69
jne 0x1003d8b5
mov ecx, dword [ebp + 8]
mov byte [ecx + 2], 6
movzx edx, word [ebp - 0x120]
mov byte [ebp + edx - 0x10e], 0
jmp 0x1003d8cb
mov eax, dword [ebp + 8]
mov byte [eax + 2], 4
movzx ecx, word [ebp - 0x120]
mov byte [ebp + ecx - 0x10c], 0
push 0x100a0a60
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
call fcn.10022300
add esp, 0xc
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003d9dd
lea edx, [ebp - 0x108]
push edx
call fcn.10090280
add esp, 4
mov word [ebp - 0x34c], ax
movzx eax, word [ebp - 0x34c]
movzx ecx, byte [ebp + eax - 0x10a]
cmp ecx, 0x72
jne 0x1003d987
movzx edx, word [ebp - 0x34c]
mov byte [ebp + edx - 0x109], 0x72
movzx eax, word [ebp - 0x34c]
mov byte [ebp + eax - 0x108], 0x65
movzx ecx, word [ebp - 0x34c]
mov byte [ebp + ecx - 0x107], 0
mov word [ebp - 0x34c], 2
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003d9dd
movzx ecx, word [ebp - 0x120]
cmp ecx, 6
jle 0x1003d9dd
mov word [ebp - 0x348], 1
lea edx, [ebp - 0x330]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
call fcn.10022300
add esp, 0xc
movzx ecx, word [ebp - 0x120]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
sub ecx, eax
mov byte [ebp + ecx - 0x108], 0
jmp 0x1003e2f3
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003dbc0
mov word [ebp - 0x56c], 0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 0xe0
cmp edx, 0x80
jne 0x1003da28
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0xa]
cmp ecx, 5
jle 0x1003da28
movzx edx, word [ebp - 0x56c]
add edx, 5
mov word [ebp - 0x56c], dx
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xc]
and ecx, 0xe0
cmp ecx, 0xc0
jne 0x1003da6d
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0xa]
cmp eax, 5
jle 0x1003da6d
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 1
sub edx, 1
neg edx
sbb edx, edx
inc edx
movzx eax, word [ebp - 0x56c]
lea ecx, [eax + edx*2 + 5]
mov word [ebp - 0x56c], cx
movzx edx, word [ebp - 0x56c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 0xe0
cmp ecx, 0x20
jne 0x1003dbb1
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0xa]
movzx ecx, word [ebp - 0x56c]
cmp eax, ecx
jle 0x1003dbb1
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x332]
cmp eax, 0x6c
jne 0x1003dac0
mov word [ebp - 0x568], 3
jmp 0x1003dac9
mov word [ebp - 0x568], 4
lea ecx, [ebp - 0x108]
push ecx
push 0xffffffffffffffff
lea edx, [ebp - 0x670]
push edx
call fcn.10022300
add esp, 0xc
push 0xffffffffffffffff
lea eax, [ebp - 0x670]
push eax
mov cx, word [ebp - 0x568]
push ecx
push 0xffffffffffffffff
movzx edx, word [ebp - 0x56c]
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0xc]
push ecx
push 0
mov edx, dword [ebp + 8]
push edx
call fcn.10022300
add esp, 0x1c
mov word [ebp - 0x568], ax
movzx eax, word [ebp - 0x568]
cmp eax, 1
jne 0x1003dbaf
mov ecx, dword [ebp + 8]
mov byte [ecx], 2
movzx edx, word [ebp - 0x56c]
test edx, edx
je 0x1003db76
movzx eax, word [ebp - 0x56c]
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 0xa]
sub edx, eax
mov eax, dword [ebp + 8]
mov word [eax + 0xa], dx
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 0xa]
push edx
movzx eax, word [ebp - 0x56c]
mov ecx, dword [ebp + 8]
lea edx, [ecx + eax + 0xc]
push edx
mov eax, dword [ebp + 8]
add eax, 0xc
push eax
call fcn.10022300
add esp, 0xc
movzx ecx, word [ebp - 0x34c]
cmp ecx, 2
jne 0x1003db8f
mov edx, dword [ebp + 8]
mov byte [edx], 3
mov eax, dword [ebp + 8]
mov byte [eax + 1], 0x10
lea ecx, [ebp - 0x108]
push ecx
push 0xffffffffffffffff
mov edx, dword [ebp + 8]
add edx, 0x10c
push edx
call fcn.10022300
add esp, 0xc
jmp 0x1004048a
jmp 0x1003dbc0
mov dword [ebp - 0x11c], 0xf42400
jmp 0x1003d987
mov word [ebp - 0x34c], 0
mov ax, word [ebp - 0x34c]
mov word [ebp - 0x334], ax
movzx ecx, word [ebp - 0x120]
cmp ecx, 5
jge 0x1003dbe8
jmp 0x1003e885
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x333]
cmp eax, 0x69
je 0x1003dc10
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x333]
cmp edx, 0x65
jne 0x1003dc51
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x332]
cmp ecx, 0x6c
je 0x1003dc51
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x331]
cmp eax, 0x6f
je 0x1003dc4c
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x331]
cmp edx, 0x61
jne 0x1003dc51
jmp 0x1003e885
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x334]
cmp ecx, 0x74
jne 0x1003dc98
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x333]
cmp eax, 0x61
jne 0x1003dc98
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x331]
cmp edx, 0x6f
jne 0x1003dc98
mov word [ebp - 0x458], 1
jmp 0x1003dcf1
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x334]
cmp ecx, 0x74
jne 0x1003dcf1
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x333]
cmp eax, 0x69
jne 0x1003dcf1
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x332]
cmp edx, 0x6c
jne 0x1003dcf1
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x331]
cmp ecx, 0x65
je 0x1003dcf1
mov word [ebp - 0x458], 1
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x332]
shl eax, 8
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x331]
add eax, edx
mov word [ebp - 0x680], ax
push 0x100a0a64
movzx eax, word [ebp - 0x120]
lea ecx, [ebp + eax - 0x333]
push ecx
call fcn.10090310
add esp, 8
test eax, eax
jne 0x1003de08
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x334]
cmp eax, 0x72
jne 0x1003dd6c
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x335]
cmp edx, 0x72
jne 0x1003dd6c
jmp 0x1003e885
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x334]
cmp ecx, 0x65
jne 0x1003dd99
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x335]
cmp eax, 0x72
jne 0x1003dd99
jmp 0x1003e885
lea ecx, [ebp - 0x330]
push ecx
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
call fcn.10022300
add esp, 0xc
movzx eax, word [ebp - 0x120]
mov byte [ebp + eax - 0x10b], 0
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x334]
cmp edx, 0x72
jne 0x1003ddea
push 0x100a0a68
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
call fcn.10022300
add esp, 0xc
mov word [ebp - 0x34c], 1
mov word [ebp - 0x334], 1
mov ecx, dword [ebp + 8]
mov byte [ecx + 2], 3
jmp 0x1003df67
movzx edx, word [ebp - 0x680]
cmp edx, 0x6d69
je 0x1003dea3
movzx eax, word [ebp - 0x680]
cmp eax, 0x7469
je 0x1003dea3
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x7369
je 0x1003dea3
movzx edx, word [ebp - 0x680]
cmp edx, 0x6369
je 0x1003dea3
movzx eax, word [ebp - 0x680]
cmp eax, 0x6e65
je 0x1003dea3
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x7669
je 0x1003dea3
movzx edx, word [ebp - 0x680]
cmp edx, 0x6c6f
je 0x1003dea3
movzx eax, word [ebp - 0x680]
cmp eax, 0x6c65
je 0x1003dea3
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x6c69
je 0x1003dea3
movzx edx, word [ebp - 0x680]
cmp edx, 0x6c61
jne 0x1003df67
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x333]
cmp ecx, 0x72
jne 0x1003ded0
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x334]
cmp eax, 0x72
jne 0x1003ded0
jmp 0x1003e885
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x333]
cmp edx, 0x65
jne 0x1003defd
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x334]
cmp ecx, 0x72
jne 0x1003defd
jmp 0x1003e885
lea edx, [ebp - 0x330]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
call fcn.10022300
add esp, 0xc
movzx ecx, word [ebp - 0x120]
mov byte [ebp + ecx - 0x10a], 0
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x333]
cmp eax, 0x72
jne 0x1003df57
push 0x100a0a6c
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
mov word [ebp - 0x34c], 1
mov word [ebp - 0x334], 2
mov edx, dword [ebp + 8]
mov byte [edx + 2], 2
movsx eax, word [ebp - 0x334]
cmp eax, 1
je 0x1003df83
movsx ecx, word [ebp - 0x334]
cmp ecx, 2
jne 0x1003e885
mov word [ebp - 0x348], 1
mov dword [ebp - 0x11c], 0xf42400
mov edx, dword [ebp + 8]
cmp dword [edx + 0x31c], 0
je 0x1003dfc6
movzx eax, word [ebp - 0x120]
cmp eax, 7
jl 0x1003dfc6
movzx ecx, word [ebp - 0x120]
mov edx, dword [ebp + 8]
movsx eax, word [edx + 0x316]
sub ecx, eax
cmp ecx, 3
jg 0x1003dfe1
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003e244
mov word [ebp - 0x56c], 0
movzx eax, word [ebp - 0x56c]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xc]
and edx, 0xe0
cmp edx, 0x20
jne 0x1003e135
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x332]
cmp ecx, 0x6c
jne 0x1003e037
mov word [ebp - 0x568], 3
jmp 0x1003e040
mov word [ebp - 0x568], 4
lea edx, [ebp - 0x108]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x670]
push eax
call fcn.10022300
add esp, 0xc
mov ecx, dword [ebp + 8]
mov byte [ecx + 0x20c], 0
push 0xffffffffffffffff
lea edx, [ebp - 0x670]
push edx
mov ax, word [ebp - 0x568]
push eax
push 0xffffffffffffffff
movzx ecx, word [ebp - 0x56c]
mov edx, dword [ebp + 8]
lea eax, [edx + ecx + 0xc]
push eax
push 0
mov ecx, dword [ebp + 8]
push ecx
call fcn.10022300
add esp, 0x1c
mov word [ebp - 0x568], ax
movzx edx, word [ebp - 0x568]
cmp edx, 1
jne 0x1003e130
mov eax, dword [ebp + 8]
mov byte [eax], 2
movzx ecx, word [ebp - 0x56c]
test ecx, ecx
je 0x1003e0f7
movzx edx, word [ebp - 0x56c]
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0xa]
sub ecx, edx
mov edx, dword [ebp + 8]
mov word [edx + 0xa], cx
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0xa]
push ecx
movzx edx, word [ebp - 0x56c]
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0xc]
push ecx
mov edx, dword [ebp + 8]
add edx, 0xc
push edx
call fcn.10022300
add esp, 0xc
movzx eax, word [ebp - 0x34c]
cmp eax, 2
jne 0x1003e110
mov ecx, dword [ebp + 8]
mov byte [ecx], 3
mov edx, dword [ebp + 8]
mov byte [edx + 1], 0x10
lea eax, [ebp - 0x108]
push eax
push 0xffffffffffffffff
mov ecx, dword [ebp + 8]
add ecx, 0x10c
push ecx
call fcn.10022300
add esp, 0xc
jmp 0x1004048a
jmp 0x1003e244
movzx edx, word [ebp - 0x56c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 0xe0
cmp ecx, 0xc0
jne 0x1003e19a
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0xa]
cmp eax, 5
jle 0x1003e19a
movzx ecx, word [ebp - 0x56c]
test ecx, ecx
jne 0x1003e19a
movzx edx, word [ebp - 0x56c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 1
sub ecx, 1
neg ecx
sbb ecx, ecx
inc ecx
movzx edx, word [ebp - 0x56c]
lea eax, [edx + ecx*2 + 5]
mov word [ebp - 0x56c], ax
jmp 0x1003dffa
movzx ecx, word [ebp - 0x56c]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xc]
and eax, 0xe0
cmp eax, 0x80
jne 0x1003e244
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 0xa]
cmp edx, 5
jle 0x1003e244
movzx eax, word [ebp - 0x56c]
test eax, eax
jne 0x1003e244
movzx ecx, word [ebp - 0x56c]
add ecx, 5
mov word [ebp - 0x56c], cx
movzx edx, word [ebp - 0x56c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 0xe0
cmp ecx, 0xc0
jne 0x1003e23f
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0xa]
movzx ecx, word [ebp - 0x56c]
sub eax, ecx
cmp eax, 5
jle 0x1003e23f
movzx edx, word [ebp - 0x56c]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 1
sub ecx, 1
neg ecx
sbb ecx, ecx
inc ecx
movzx edx, word [ebp - 0x56c]
lea eax, [edx + ecx*2 + 5]
mov word [ebp - 0x56c], ax
jmp 0x1003dffa
movzx ecx, word [ebp - 0x34c]
cmp ecx, 1
jne 0x1003e2cf
lea edx, [ebp - 0x108]
push edx
call fcn.10090280
add esp, 4
mov word [ebp - 0x34c], ax
movzx eax, word [ebp - 0x34c]
movzx ecx, byte [ebp + eax - 0x10a]
cmp ecx, 0x72
jne 0x1003e2cd
lea edx, [ebp - 0x108]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x560]
push eax
call fcn.10022300
add esp, 0xc
movzx ecx, word [ebp - 0x34c]
mov byte [ebp + ecx - 0x109], 0x72
movzx edx, word [ebp - 0x34c]
mov byte [ebp + edx - 0x108], 0x65
movzx eax, word [ebp - 0x34c]
mov byte [ebp + eax - 0x107], 0
mov word [ebp - 0x34c], 2
jmp 0x1003df8c
jmp 0x1003e2f3
movzx ecx, word [ebp - 0x34c]
cmp ecx, 2
jne 0x1003e2f3
lea edx, [ebp - 0x560]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
call fcn.10022300
add esp, 0xc
lea ecx, [ebp - 0x108]
push ecx
call fcn.10090280
add esp, 4
mov word [ebp - 0x114], ax
mov byte [ebp - 0x556], 0
movzx edx, word [ebp - 0x114]
mov al, byte [ebp + edx - 0x10a]
mov byte [ebp - 0x67b], al
movzx ecx, word [ebp - 0x114]
cmp ecx, 4
jg 0x1003e437
movzx edx, word [ebp - 0x114]
movzx eax, byte [ebp + edx - 0x109]
movzx ecx, word [ebp - 0x114]
movzx edx, byte [ebp + ecx - 0x330]
cmp eax, edx
jne 0x1003e437
movzx eax, word [ebp - 0x114]
movzx ecx, byte [ebp + eax - 0x330]
cmp ecx, 0x6d
je 0x1003e3d2
movzx edx, word [ebp - 0x114]
movzx eax, byte [ebp + edx - 0x330]
cmp eax, 0x74
je 0x1003e3d2
movzx ecx, word [ebp - 0x114]
movzx edx, byte [ebp + ecx - 0x330]
cmp edx, 0x63
je 0x1003e3d2
movzx eax, word [ebp - 0x114]
movzx ecx, byte [ebp + eax - 0x330]
cmp ecx, 0x6c
je 0x1003e3d2
movzx edx, word [ebp - 0x114]
movzx eax, byte [ebp + edx - 0x330]
cmp eax, 0x6e
jne 0x1003e437
movzx ecx, word [ebp - 0x114]
movzx edx, byte [ebp + ecx - 0x32f]
cmp edx, 0x65
jne 0x1003e437
movzx eax, byte [ebp - 0x67b]
movzx ecx, byte [eax + 0x100a5900]
test ecx, ecx
je 0x1003e437
lea edx, [ebp - 0x108]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x560]
push eax
call fcn.10022300
add esp, 0xc
mov byte [ebp - 0x556], 1
movzx ecx, word [ebp - 0x114]
movzx edx, byte [ebp + ecx - 0x10a]
cmp edx, 0x69
jne 0x1003e428
movzx eax, word [ebp - 0x114]
mov byte [ebp + eax - 0x109], 0
jmp 0x1003e437
movzx ecx, word [ebp - 0x114]
mov byte [ebp + ecx - 0x109], 0x69
mov dword [ebp - 0x11c], 0xf42400
mov edx, dword [ebp + 8]
cmp dword [edx + 0x31c], 0
je 0x1003e47d
movzx eax, word [ebp - 0x120]
cmp eax, 7
jl 0x1003e47d
movzx ecx, word [ebp - 0x120]
mov edx, dword [ebp + 8]
movsx eax, word [edx + 0x316]
sub ecx, eax
cmp ecx, 3
jle 0x1003e47d
movzx ecx, byte [ebp - 0x556]
cmp ecx, 1
jne 0x1003e498
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003e74f
mov word [ebp - 0x114], 0
movzx ecx, word [ebp - 0x114]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xc]
and eax, 0xe0
cmp eax, 0x80
jne 0x1003e4dd
movzx ecx, word [ebp - 0x114]
add ecx, 5
mov word [ebp - 0x114], cx
movzx edx, word [ebp - 0x114]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 0xe0
cmp ecx, 0xc0
jne 0x1003e538
mov edx, dword [ebp + 8]
movzx eax, word [edx + 0xa]
movzx ecx, word [ebp - 0x114]
cmp eax, ecx
jle 0x1003e538
movzx edx, word [ebp - 0x114]
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + edx + 0xc]
and ecx, 1
sub ecx, 1
neg ecx
sbb ecx, ecx
inc ecx
movzx edx, word [ebp - 0x114]
lea eax, [edx + ecx*2 + 5]
mov word [ebp - 0x114], ax
movzx ecx, word [ebp - 0x114]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xc]
and eax, 0xe0
cmp eax, 0x40
jne 0x1003e74f
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 0xa]
movzx eax, word [ebp - 0x114]
cmp edx, eax
jle 0x1003e74f
push 0xffffffffffffffff
lea ecx, [ebp - 0x228]
push ecx
movzx edx, word [ebp - 0x114]
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0xc]
push ecx
call fcn.10022300
add esp, 0xc
mov edx, dword [ebp + 8]
mov ax, word [edx + 0xa]
mov word [ebp - 0x338], ax
movzx ecx, word [ebp - 0x338]
push ecx
mov edx, dword [ebp + 8]
add edx, 0xc
push edx
lea eax, [ebp - 0x450]
push eax
call fcn.10022300
add esp, 0xc
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x332]
cmp edx, 0x6c
jne 0x1003e5d6
mov word [ebp - 0x568], 3
jmp 0x1003e5df
mov word [ebp - 0x568], 4
push 0xffffffffffffffff
lea eax, [ebp - 0x670]
push eax
mov cx, word [ebp - 0x568]
push ecx
push 0xffffffffffffffff
lea edx, [ebp - 0x228]
push edx
push 1
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0x1c
mov word [ebp - 0x568], ax
movzx ecx, word [ebp - 0x568]
cmp ecx, 1
jne 0x1003e74f
mov edx, dword [ebp + 8]
mov ax, word [ebp - 0x338]
mov word [edx + 0xa], ax
movzx ecx, word [ebp - 0x338]
push ecx
lea edx, [ebp - 0x450]
push edx
mov eax, dword [ebp + 8]
add eax, 0xc
push eax
call fcn.10022300
add esp, 0xc
lea ecx, [ebp - 0x108]
push ecx
call fcn.10090280
add esp, 4
mov dl, byte [ebp + eax - 0x330]
mov byte [ebp - 0x67b], dl
lea eax, [ebp - 0x108]
push eax
lea ecx, [ebp - 0x114]
push ecx
mov dl, byte [ebp - 0x67b]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0x10
mov word [ebp - 0x110], ax
movzx ecx, word [ebp - 0x110]
cmp ecx, 1
jne 0x1003e6cf
lea edx, [ebp - 0x108]
push edx
call fcn.10090280
add esp, 4
cmp eax, 3
jne 0x1003e6cf
movzx eax, byte [ebp - 0x32f]
cmp eax, 0x61
jne 0x1003e6cf
movzx ecx, byte [ebp - 0x32e]
cmp ecx, 0x69
jne 0x1003e6cf
mov word [ebp - 0x110], 0
movzx edx, word [ebp - 0x110]
cmp edx, 1
jne 0x1003e74f
mov eax, dword [ebp + 8]
mov cx, word [ebp - 0x338]
mov word [eax + 0xa], cx
movzx edx, word [ebp - 0x338]
push edx
lea eax, [ebp - 0x450]
push eax
mov ecx, dword [ebp + 8]
add ecx, 0xc
push ecx
call fcn.10022300
add esp, 0xc
movzx edx, word [ebp - 0x114]
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0xa]
sub ecx, edx
mov edx, dword [ebp + 8]
mov word [edx + 0xa], cx
mov eax, dword [ebp + 8]
movzx ecx, word [eax + 0xa]
push ecx
movzx edx, word [ebp - 0x114]
mov eax, dword [ebp + 8]
lea ecx, [eax + edx + 0xc]
push ecx
mov edx, dword [ebp + 8]
add edx, 0xc
push edx
call fcn.10022300
add esp, 0xc
mov eax, dword [ebp + 8]
mov byte [eax], 3
jmp 0x1004048a
movzx ecx, byte [ebp - 0x556]
cmp ecx, 1
jne 0x1003e773
lea edx, [ebp - 0x560]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
call fcn.10022300
add esp, 0xc
movzx ecx, word [ebp - 0x114]
test ecx, ecx
jle 0x1003e7a8
movzx edx, word [ebp - 0x114]
movzx eax, byte [ebp + edx - 0x109]
cmp eax, 0x6e
jne 0x1003e7a8
push 0x100a0a70
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
lea edx, [ebp - 0x108]
push edx
lea eax, [ebp - 0x330]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10022300
add esp, 0xc
mov word [ebp - 0x568], ax
movzx edx, word [ebp - 0x568]
test edx, edx
je 0x1003e811
movzx eax, word [ebp - 0x568]
cmp eax, 2
jne 0x1003e7eb
mov word [ebp - 0x340], 2
jmp 0x1003e7f4
mov word [ebp - 0x340], 1
mov word [ebp - 0x22c], 0x23
mov word [ebp - 0x344], 0x59
mov word [ebp - 0x33c], 0x224
jmp 0x1003e82c
mov word [ebp - 0x22c], 0x24
mov word [ebp - 0x344], 0x2c
mov word [ebp - 0x33c], 0x232
lea ecx, [ebp - 0x330]
push ecx
push 0xffffffffffffffff
lea edx, [ebp - 0x228]
push edx
call fcn.10022300
add esp, 0xc
lea eax, [ebp - 0x108]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x330]
push ecx
call fcn.10022300
add esp, 0xc
mov dx, word [ebp - 0x120]
mov word [ebp - 0x128], dx
lea eax, [ebp - 0x330]
push eax
call fcn.10090280
add esp, 4
mov word [ebp - 0x120], ax
jmp 0x1003ae12
mov ecx, dword [ebp + 8]
mov byte [ecx + 3], 0
mov word [ebp - 0x458], 0
mov byte [ebp - 0x121], 0
movsx edx, word [ebp - 0x348]
test edx, edx
jle 0x1003e8cd
lea eax, [ebp - 0x228]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x330]
push ecx
call fcn.10022300
add esp, 0xc
mov dx, word [ebp - 0x128]
mov word [ebp - 0x120], dx
movzx eax, word [ebp - 0x120]
cmp eax, 8
jle 0x1003ed9f
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x335]
cmp edx, 0x6d
jne 0x1003ed9f
push 5
push 0x100a0a74
movzx eax, word [ebp - 0x120]
lea ecx, [ebp + eax - 0x335]
push ecx
call fcn.10022300
add esp, 0xc
test eax, eax
jne 0x1003ed9f
movzx edx, word [ebp - 0x120]
sub edx, 5
push edx
lea eax, [ebp - 0x330]
push eax
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x336]
cmp eax, 0x6c
je 0x1003e964
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x336]
cmp edx, 0x72
jne 0x1003e9a1
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x337]
movzx edx, byte [ecx + 0x100a5900]
test edx, edx
je 0x1003e9a1
movzx eax, word [ebp - 0x120]
mov byte [ebp + eax - 0x10d], 0x65
movzx ecx, word [ebp - 0x120]
mov byte [ebp + ecx - 0x10c], 0
jmp 0x1003eaf2
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x336]
cmp eax, 0x61
jne 0x1003e9d8
movzx ecx, word [ebp - 0x120]
mov byte [ebp + ecx - 0x10e], 0x6f
movzx edx, word [ebp - 0x120]
mov byte [ebp + edx - 0x10d], 0
jmp 0x1003eaf2
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x336]
cmp ecx, 0x65
jne 0x1003ea28
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x337]
cmp eax, 0x6c
je 0x1003ea28
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x337]
cmp edx, 0x72
je 0x1003ea28
movzx eax, word [ebp - 0x120]
mov byte [ebp + eax - 0x10d], 0
jmp 0x1003eaf2
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x336]
cmp edx, 0x65
jne 0x1003ea97
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x337]
cmp ecx, 0x6c
je 0x1003ea64
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x337]
cmp eax, 0x72
jne 0x1003ea97
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x337]
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x338]
cmp edx, ecx
jne 0x1003ea97
movzx edx, word [ebp - 0x120]
mov byte [ebp + edx - 0x10d], 0
jmp 0x1003eaf2
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x336]
cmp ecx, 0x65
jne 0x1003eaed
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x337]
cmp eax, 0x72
jne 0x1003eaed
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x338]
movzx eax, byte [edx + 0x100a5900]
neg eax
sbb eax, eax
inc eax
je 0x1003eaed
movzx ecx, word [ebp - 0x120]
mov byte [ebp + ecx - 0x10d], 0
jmp 0x1003eaf2
jmp 0x1003ed9f
mov edx, dword [ebp + 8]
cmp dword [edx + 0x31c], 0
jne 0x1003ebce
movzx eax, word [ebp - 0x120]
cmp eax, 0xd
jle 0x1003ebce
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x337]
cmp edx, 0x6d
jne 0x1003ebce
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x33a]
cmp ecx, 0x73
jne 0x1003ebce
push 6
push str.issima
movzx edx, word [ebp - 0x120]
lea eax, [ebp + edx - 0x33b]
push eax
call fcn.10091230
add esp, 0xc
test eax, eax
jne 0x1003ebce
mov byte [ebp - 0x121], 1
movzx ecx, word [ebp - 0x120]
mov byte [ebp + ecx - 0x10e], 0x6f
mov dx, word [ebp - 0x120]
mov word [ebp - 0x460], dx
movzx eax, word [ebp - 0x120]
sub eax, 5
mov word [ebp - 0x120], ax
lea ecx, [ebp - 0x330]
push ecx
push 0xffffffffffffffff
lea edx, [ebp - 0x228]
push edx
call fcn.10022300
add esp, 0xc
lea eax, [ebp - 0x108]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x330]
push ecx
call fcn.10022300
add esp, 0xc
jmp 0x1003f0f6
mov dword [ebp - 0x9b8], 0
mov dx, word [ebp - 0x9b8]
mov word [ebp - 0x34c], dx
mov eax, dword [ebp + 8]
mov word [eax + 6], 0x20
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xc]
and ecx, 0xe0
cmp ecx, 0xc0
jne 0x1003ec3b
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 1
sub eax, 1
neg eax
sbb eax, eax
inc eax
lea ecx, [eax + eax + 5]
mov dword [ebp - 0x9b8], ecx
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003ec87
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 0xe0
cmp eax, 0x40
je 0x1003ec87
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 0xa]
cmp edx, dword [ebp - 0x9b8]
jle 0x1003ed09
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x9b8]
movzx ecx, byte [eax + 0xc]
and ecx, 0xe0
cmp ecx, 0x40
jne 0x1003ed09
mov dword [ebp - 0x11c], 0xf4240
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x31c]
push eax
lea ecx, [ebp - 0x11c]
push ecx
push 0x100a2d88
push 0x3e8
lea edx, [ebp - 0x108]
push edx
call fcn.10090280
add esp, 4
push eax
lea eax, [ebp - 0x108]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10022300
add esp, 0x1c
mov word [ebp - 0x34c], ax
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x336]
cmp eax, 0x61
je 0x1003ecf3
mov word [ebp - 0x34c], 0
movzx ecx, word [ebp - 0x34c]
cmp ecx, 2
je 0x1003ed09
mov dword [ebp - 0x11c], 0xf42400
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003ed9f
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 0xe0
cmp eax, 0x80
je 0x1003ed38
movzx ecx, word [ebp - 0x34c]
cmp ecx, 2
jne 0x1003ed9f
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 0xe0
cmp eax, 0x80
jne 0x1003ed6f
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 0x1c
cmp edx, 0xc
je 0x1003ed5c
jmp 0x1003ed9f
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xf]
and ecx, 3
sar ecx, 6
mov byte [0x100a49c4], cl
mov edx, dword [ebp - 0x11c]
add edx, 0x20000
mov dword [ebp - 0x11c], edx
mov eax, dword [ebp + 8]
mov word [eax + 0xa], 2
movzx ecx, byte [0x100a49c4]
or ecx, 0x78
mov edx, dword [ebp + 8]
mov byte [edx + 0xc], cl
jmp 0x1004048a
movzx eax, byte [ebp - 0x121]
cmp eax, 1
jne 0x1003edd8
mov cx, word [ebp - 0x460]
mov word [ebp - 0x120], cx
lea edx, [ebp - 0x228]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x330]
push eax
call fcn.10022300
add esp, 0xc
mov byte [ebp - 0x121], 0
movzx ecx, word [ebp - 0x120]
cmp ecx, 7
jle 0x1003f0f6
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x334]
cmp eax, 0x62
jne 0x1003f0f6
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x333]
cmp edx, 0x69
jne 0x1003f0f6
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x332]
cmp ecx, 0x6c
jne 0x1003f0f6
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x335]
cmp eax, 0x69
je 0x1003ee5c
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x335]
cmp edx, 0x61
jne 0x1003f0f6
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x331]
cmp ecx, 0x69
je 0x1003ee88
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x331]
cmp eax, 0x65
jne 0x1003f0f6
movzx ecx, word [ebp - 0x120]
sub ecx, 5
push ecx
lea edx, [ebp - 0x330]
push edx
lea eax, [ebp - 0x108]
push eax
call fcn.10022300
add esp, 0xc
movzx ecx, word [ebp - 0x120]
mov byte [ebp + ecx - 0x10d], 0
mov word [ebp - 0x114], 0
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x335]
cmp eax, 0x61
jne 0x1003eeef
mov ecx, dword [0x100a0790]
push ecx
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
call fcn.10022300
add esp, 0xc
jmp 0x1003ef0f
mov eax, dword [0x100a0788]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
mov word [ebp - 0x114], 1
mov word [ebp - 0x34c], 0
mov edx, dword [ebp + 8]
mov word [edx + 6], 0x80
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003ef7e
movzx edx, word [ebp - 0x114]
cmp edx, 1
jne 0x1003ef7e
movzx eax, word [ebp - 0x120]
mov byte [ebp + eax - 0x10d], 0x69
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003f0f6
mov word [ebp - 0x114], 0
movzx eax, word [ebp - 0x114]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xc]
and edx, 0xe0
cmp edx, 0x80
jne 0x1003efc5
movzx eax, word [ebp - 0x114]
add eax, 5
mov word [ebp - 0x114], ax
movzx ecx, word [ebp - 0x114]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xc]
and eax, 0xe0
cmp eax, 0xc0
jne 0x1003f00c
movzx ecx, word [ebp - 0x114]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + ecx + 0xc]
and eax, 1
sub eax, 1
neg eax
sbb eax, eax
inc eax
movzx ecx, word [ebp - 0x114]
lea edx, [ecx + eax*2 + 5]
mov word [ebp - 0x114], dx
movzx eax, word [ebp - 0x114]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xc]
and edx, 0xe0
cmp edx, 0x20
jne 0x1003f0f6
movzx eax, word [ebp - 0x114]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xf]
and edx, 0xc0
cmp edx, 0x40
je 0x1003f0f6
movzx eax, word [ebp - 0x114]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xf]
and edx, 0x38
cmp edx, 0x28
je 0x1003f0f6
movzx eax, word [ebp - 0x114]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xe]
and edx, 0xf
jne 0x1003f0f6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xd]
and ecx, 3
shl ecx, 6
mov byte [0x100a49c4], cl
mov edx, dword [ebp + 8]
mov byte [edx + 0xc], 0x90
mov eax, dword [ebp + 8]
mov byte [eax + 0xd], 1
mov ecx, dword [ebp + 8]
mov byte [ecx + 0xe], 0
mov edx, dword [ebp + 8]
mov byte [edx + 0xf], 0
mov eax, dword [ebp + 8]
mov word [eax + 0xa], 5
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x331]
cmp edx, 0x69
jne 0x1003f0c9
mov eax, dword [ebp + 8]
mov byte [eax], 1
movzx ecx, byte [0x100a49c4]
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xd]
or eax, ecx
mov ecx, dword [ebp + 8]
mov byte [ecx + 0xd], al
mov edx, dword [ebp - 0x11c]
add edx, 0x30000
mov dword [ebp - 0x11c], edx
jmp 0x1004048a
mov byte [ebp - 0x115], 0
movzx eax, word [ebp - 0x120]
cmp eax, 4
jle 0x1003fca1
mov ecx, dword [0x100a58f0]
mov dword [ebp - 0x454], ecx
mov edx, dword [ebp + 8]
cmp dword [edx + 0x31c], 1
jne 0x1003f148
mov eax, dword [ebp - 0x454]
add eax, 0x65
mov dword [ebp - 0x454], eax
mov word [ebp - 0x338], 0x11
mov word [ebp - 0x128], 0x16
jmp 0x1003f189
movzx ecx, byte [ebp - 0x121]
cmp ecx, 1
jne 0x1003f177
mov edx, dword [ebp - 0x454]
add edx, 0x71
mov dword [ebp - 0x454], edx
mov word [ebp - 0x338], 0x13
mov word [ebp - 0x128], 0x14
jmp 0x1003f189
mov word [ebp - 0x338], 0
mov word [ebp - 0x128], 0x1c
mov word [ebp - 0x56c], 0x64
mov word [ebp - 0x45c], 0x73
mov ax, word [ebp - 0x338]
mov word [ebp - 0x680], ax
jmp 0x1003f1bd
mov cx, word [ebp - 0x680]
add cx, 1
mov word [ebp - 0x680], cx
movzx edx, word [ebp - 0x680]
movzx eax, word [ebp - 0x128]
cmp edx, eax
jge 0x1003fca1
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x12
jle 0x1003f1e8
mov word [ebp - 0x45c], 0x61
mov edx, dword [ebp - 0x454]
push edx
call fcn.10090280
add esp, 4
mov word [ebp - 0x568], ax
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x568]
add ecx, 1
cmp eax, ecx
jle 0x1003f2f2
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x568]
sub edx, eax
movzx ecx, byte [ebp + edx - 0x330]
mov edx, dword [ebp - 0x454]
movzx eax, byte [edx]
cmp ecx, eax
jne 0x1003f2f2
movzx ecx, word [ebp - 0x120]
movzx edx, word [ebp - 0x568]
sub ecx, edx
movzx eax, byte [ebp + ecx - 0x331]
mov ecx, dword [ebp - 0x454]
movzx edx, byte [ecx]
cmp eax, edx
je 0x1003f2f2
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x331]
cmp ecx, 0x61
je 0x1003f2b9
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x331]
cmp eax, 0x65
je 0x1003f2b9
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x331]
cmp edx, 0x69
je 0x1003f2b9
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x331]
cmp ecx, 0x6f
jne 0x1003f2f2
movzx edx, word [ebp - 0x568]
sub edx, 1
push edx
mov eax, dword [ebp - 0x454]
push eax
movzx ecx, word [ebp - 0x120]
movzx edx, word [ebp - 0x568]
sub ecx, edx
lea eax, [ebp + ecx - 0x330]
push eax
call fcn.10091230
add esp, 0xc
mov word [ebp - 0x56c], ax
movzx ecx, word [ebp - 0x56c]
test ecx, ecx
je 0x1003f39d
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp - 0x454]
movzx ecx, byte [eax + edx - 1]
cmp ecx, 0x6f
jne 0x1003f39d
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp - 0x454]
movzx ecx, byte [eax + edx - 2]
cmp ecx, 0x69
jne 0x1003f39d
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x331]
cmp eax, 0x65
jne 0x1003f39d
movzx ecx, word [ebp - 0x568]
sub ecx, 2
push ecx
mov edx, dword [ebp - 0x454]
push edx
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x568]
sub eax, ecx
lea edx, [ebp + eax - 0x32f]
push edx
call fcn.10091230
add esp, 0xc
mov word [ebp - 0x56c], ax
movzx eax, word [ebp - 0x56c]
test eax, eax
jne 0x1003f39d
mov cx, word [ebp - 0x568]
sub cx, 1
mov word [ebp - 0x568], cx
movzx edx, word [ebp - 0x56c]
test edx, edx
jne 0x1003f41b
movzx eax, word [ebp - 0x568]
mov ecx, dword [ebp - 0x454]
movzx edx, byte [ecx + eax - 1]
cmp edx, 0x6f
jne 0x1003f41b
movzx eax, word [ebp - 0x568]
mov ecx, dword [ebp - 0x454]
movzx edx, byte [ecx + eax - 2]
cmp edx, 0x69
jne 0x1003f41b
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x331]
cmp ecx, 0x65
je 0x1003f3fe
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x331]
cmp eax, 0x69
jne 0x1003f41b
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x332]
cmp edx, 0x69
jne 0x1003f41b
mov word [ebp - 0x56c], 1
movzx eax, word [ebp - 0x56c]
test eax, eax
jne 0x1003fc85
mov word [ebp - 0x56c], 0x64
movsx ecx, word [ebp - 0x45c]
cmp ecx, 0x61
jne 0x1003f454
mov edx, dword [ebp + 8]
movzx eax, word [edx + 6]
or eax, 0x80
mov ecx, dword [ebp + 8]
mov word [ecx + 6], ax
jmp 0x1003f465
mov edx, dword [ebp + 8]
movzx eax, word [edx + 6]
or eax, 0x40
mov ecx, dword [ebp + 8]
mov word [ecx + 6], ax
movzx edx, byte [ebp - 0x121]
test edx, edx
je 0x1003f479
mov eax, dword [ebp + 8]
mov word [eax + 6], 0x20
movzx ecx, word [ebp - 0x120]
mov dl, byte [ebp + ecx - 0x331]
mov byte [ebp - 0x67a], dl
lea eax, [ebp - 0x330]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x568]
sub edx, eax
movzx ecx, byte [ebp + edx - 0x109]
cmp ecx, 0x63
je 0x1003f4df
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x568]
sub edx, eax
movzx ecx, byte [ebp + edx - 0x109]
cmp ecx, 0x67
jne 0x1003f51f
mov edx, dword [ebp - 0x454]
movzx eax, byte [edx]
cmp eax, 0x69
je 0x1003f4fb
mov ecx, dword [ebp - 0x454]
movzx edx, byte [ecx]
cmp edx, 0x65
jne 0x1003f51f
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x568]
sub eax, ecx
movzx edx, byte [ebp + eax - 0x108]
cmp edx, 0x68
je 0x1003f51f
mov byte [ebp - 0x115], 1
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x568]
sub eax, ecx
movzx edx, byte [ebp + eax - 0x10a]
cmp edx, 0x63
je 0x1003f55d
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x568]
sub eax, ecx
movzx edx, byte [ebp + eax - 0x10a]
cmp edx, 0x67
jne 0x1003f62b
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x568]
sub eax, ecx
movzx edx, byte [ebp + eax - 0x109]
cmp edx, 0x68
jne 0x1003f62b
mov eax, dword [ebp - 0x454]
movzx ecx, byte [eax]
cmp ecx, 0x69
je 0x1003f59e
mov edx, dword [ebp - 0x454]
movzx eax, byte [edx]
cmp eax, 0x65
jne 0x1003f62b
mov byte [ebp - 0x115], 2
movzx ecx, byte [ebp - 0x67a]
cmp ecx, 0x69
je 0x1003f5bd
movzx edx, byte [ebp - 0x67a]
cmp edx, 0x65
jne 0x1003f5f4
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x568]
sub eax, ecx
mov dl, byte [ebp - 0x67a]
mov byte [ebp + eax - 0x108], dl
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x568]
sub eax, ecx
mov byte [ebp + eax - 0x107], 0
jmp 0x1003f629
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x568]
sub edx, eax
mov cl, byte [ebp - 0x67a]
mov byte [ebp + edx - 0x109], cl
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x568]
sub edx, eax
mov byte [ebp + edx - 0x108], 0
jmp 0x1003f660
movzx ecx, word [ebp - 0x120]
movzx edx, word [ebp - 0x568]
sub ecx, edx
mov al, byte [ebp - 0x67a]
mov byte [ebp + ecx - 0x108], al
movzx ecx, word [ebp - 0x120]
movzx edx, word [ebp - 0x568]
sub ecx, edx
mov byte [ebp + ecx - 0x107], 0
push 0xffffffffffffffff
lea eax, [ebp - 0x108]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003f6b0
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 0xe0
cmp eax, 0x80
jne 0x1003f6b0
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xd]
and edx, 0x10
je 0x1003f6b0
mov dword [ebp - 0x11c], 0xf42400
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003f6d5
lea eax, [ebp - 0x108]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10022300
add esp, 8
mov dword [ebp - 0x11c], eax
movsx edx, word [ebp - 0x45c]
cmp edx, 0x61
jne 0x1003f7a3
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003f707
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xc]
and ecx, 0xe0
cmp ecx, 0x40
jne 0x1003f7a3
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0x31c]
push eax
lea ecx, [ebp - 0x11c]
push ecx
push 0x100a2d89
push 0x3e8
lea edx, [ebp - 0x108]
push edx
call fcn.10090280
add esp, 4
push eax
lea eax, [ebp - 0x108]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10022300
add esp, 0x1c
mov word [ebp - 0x34c], ax
movzx edx, word [ebp - 0x34c]
cmp edx, 2
jne 0x1003f799
mov eax, dword [ebp + 8]
mov word [eax + 0xa], 5
mov ecx, dword [ebp + 8]
mov byte [ecx + 0xc], 0x8c
mov edx, dword [ebp + 8]
mov byte [edx + 0xd], 7
mov eax, dword [ebp + 8]
mov byte [eax + 0xe], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 0xf], 1
movzx edx, byte [0x100a49c4]
shl edx, 6
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xf]
or ecx, edx
mov edx, dword [ebp + 8]
mov byte [edx + 0xf], cl
jmp 0x1003f7a3
mov dword [ebp - 0x11c], 0xf42400
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003f910
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x568]
sub eax, ecx
mov byte [ebp + eax - 0x108], 0x65
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 0xe0
cmp edx, 0xc0
jne 0x1003f805
mov dword [ebp - 0x11c], 0xf42400
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003f910
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x568]
sub eax, ecx
mov byte [ebp + eax - 0x108], 0x6f
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 0xe0
cmp edx, 0xc0
jne 0x1003f867
mov dword [ebp - 0x11c], 0xf42400
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003f910
mov eax, dword [ebp - 0x454]
movzx ecx, byte [eax]
cmp ecx, 0x69
jne 0x1003f910
movzx edx, byte [ebp - 0x115]
cmp edx, 2
jne 0x1003f8ad
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x568]
sub eax, ecx
mov byte [ebp + eax - 0x109], 0x68
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x568]
sub edx, eax
mov byte [ebp + edx - 0x108], 0x69
movzx ecx, word [ebp - 0x120]
movzx edx, word [ebp - 0x568]
sub ecx, edx
mov byte [ebp + ecx - 0x107], 0x6f
movzx eax, word [ebp - 0x120]
movzx ecx, word [ebp - 0x568]
sub eax, ecx
mov byte [ebp + eax - 0x106], 0
push 0xffffffffffffffff
lea edx, [ebp - 0x108]
push edx
mov eax, dword [ebp + 8]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
je 0x1003fc72
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 0xe0
cmp edx, 0x80
jne 0x1003f952
movzx eax, word [ebp - 0x680]
cmp eax, 0x13
jge 0x1003f952
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x31c], 1
jne 0x1003f952
jmp 0x1003fca1
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 0xe0
cmp eax, 0x80
jne 0x1003f988
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 0x1c
cmp edx, 0x10
je 0x1003f988
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xc]
and ecx, 0x1c
cmp ecx, 0xc
je 0x1003f988
jmp 0x1003fca1
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 0xe0
cmp eax, 0x80
jne 0x1003f9b8
movzx ecx, word [ebp - 0x680]
cmp ecx, 0x13
jne 0x1003f9b8
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 1
je 0x1003f9b8
jmp 0x1003fca1
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 0xe0
cmp edx, 0xc0
jne 0x1003f9ea
movzx eax, word [ebp - 0x680]
cmp eax, 0x11
jl 0x1003f9ea
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x31c], 1
jne 0x1003f9ea
jmp 0x1003fca1
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 0xe0
cmp eax, 0xc0
jne 0x1003fa29
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 0xc
cmp edx, 8
je 0x1003fa24
movzx eax, word [ebp - 0x680]
cmp eax, 0x13
jne 0x1003fa29
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 2
jne 0x1003fa29
jmp 0x1003fca1
movzx eax, byte [ebp - 0x115]
test eax, eax
je 0x1003fadf
mov word [ebp - 0x34c], 1
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 0xe0
cmp edx, 0x80
jne 0x1003fa5f
mov word [ebp - 0x34c], 2
movzx eax, word [ebp - 0x34c]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + eax + 0xc]
and edx, 0xf
mov byte [ebp - 0x116], dl
movzx eax, byte [ebp - 0x116]
cmp eax, 8
jne 0x1003faa6
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 0xa]
cmp edx, 5
je 0x1003faa1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0x11]
and ecx, 0xe0
cmp ecx, 0x40
je 0x1003faa6
jmp 0x1003fca1
movzx edx, byte [ebp - 0x115]
cmp edx, 1
jne 0x1003fac3
movzx eax, byte [ebp - 0x116]
cmp eax, 5
jne 0x1003fac3
jmp 0x1003fca1
movzx ecx, byte [ebp - 0x115]
cmp ecx, 2
jne 0x1003fadf
movzx edx, byte [ebp - 0x116]
test edx, edx
jne 0x1003fadf
jmp 0x1003fca1
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xc]
and ecx, 0xe0
cmp ecx, 0x80
jne 0x1003fb5b
mov edx, dword [ebp + 8]
mov word [edx + 0xa], 5
movzx eax, byte [ebp - 0x67a]
mov dword [ebp - 0x9cc], eax
mov ecx, dword [ebp - 0x9cc]
sub ecx, 0x61
mov dword [ebp - 0x9cc], ecx
cmp dword [ebp - 0x9cc], 0xe
ja case.0x1003fb2f.1
mov edx, dword [ebp - 0x9cc]
movzx eax, byte [edx + 0x10040611]
jmp dword [eax*4 + 0x100405fd]
mov ecx, dword [ebp + 8]
mov byte [ecx], 0
jmp case.0x1003fb2f.1
mov edx, dword [ebp + 8]
mov byte [edx], 2
jmp case.0x1003fb2f.1
mov eax, dword [ebp + 8]
mov byte [eax], 4
jmp case.0x1003fb2f.1
mov ecx, dword [ebp + 8]
mov byte [ecx], 3
mov byte [ebp - 0x67a], 1
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 0xe0
cmp eax, 0xc0
jne 0x1003fbdc
mov ecx, dword [ebp + 8]
mov byte [ecx], 0
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x568]
sub edx, eax
movzx ecx, byte [ebp + edx - 0x108]
cmp ecx, 0x65
jne 0x1003fb97
mov edx, dword [ebp + 8]
mov byte [edx], 0x80
mov al, byte [ebp - 0x67a]
mov byte [ebp - 0x9d0], al
cmp byte [ebp - 0x9d0], 0x65
je 0x1003fbc7
cmp byte [ebp - 0x9d0], 0x69
je 0x1003fbb7
jmp 0x1003fbd5
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
add edx, 1
mov eax, dword [ebp + 8]
mov byte [eax], dl
jmp 0x1003fbd5
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
add edx, 1
mov eax, dword [ebp + 8]
mov byte [eax], dl
mov byte [ebp - 0x67a], 1
movzx ecx, byte [ebp - 0x67a]
cmp ecx, 1
jne 0x1003fc70
movzx edx, word [ebp - 0x680]
cmp edx, 0x10
jle 0x1003fc61
movzx eax, word [ebp - 0x680]
cmp eax, 0x16
jge 0x1003fc61
movzx ecx, byte [ebp - 0x121]
cmp ecx, 1
jne 0x1003fc15
jmp 0x1003ebce
cmp dword [ebp - 0x11c], 0x10000
jbe 0x1003fc43
movzx edx, word [ebp - 0x680]
sub edx, 5
shl edx, 0x10
mov eax, dword [ebp - 0x11c]
lea ecx, [edx + eax - 0x10000]
mov dword [ebp - 0x11c], ecx
jmp 0x1003fc5c
movzx edx, word [ebp - 0x680]
sub edx, 0xa
shl edx, 0x10
add edx, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], edx
jmp 0x1004048a
mov dword [ebp - 0x11c], 0xf42400
jmp 0x1004048a
jmp 0x1003fc85
mov word [ebp - 0x680], 0x28
mov dword [ebp - 0x11c], 0xf42400
movzx eax, word [ebp - 0x568]
mov ecx, dword [ebp - 0x454]
lea edx, [ecx + eax + 1]
mov dword [ebp - 0x454], edx
jmp 0x1003f1ab
movzx eax, byte [ebp - 0x121]
cmp eax, 1
jne 0x1003fcd3
mov cx, word [ebp - 0x460]
mov word [ebp - 0x120], cx
lea edx, [ebp - 0x228]
push edx
push 0xffffffffffffffff
lea eax, [ebp - 0x330]
push eax
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], 0xf42400
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x31c], 0
jne 0x100400ef
movzx edx, word [ebp - 0x120]
cmp edx, 4
jle 0x100400ef
mov eax, dword [0x100a5674]
mov dword [ebp - 0x454], eax
mov word [ebp - 0x56c], 0x64
mov word [ebp - 0x680], 0
jmp 0x1003fd2e
mov cx, word [ebp - 0x680]
add cx, 1
mov word [ebp - 0x680], cx
movzx edx, word [ebp - 0x680]
cmp edx, 0x14
jge 0x100400ef
mov eax, dword [ebp - 0x454]
push eax
call fcn.10090280
add esp, 4
mov word [ebp - 0x568], ax
movzx ecx, word [ebp - 0x568]
movzx edx, word [ebp - 0x120]
cmp ecx, edx
jge 0x1003fd8b
movzx eax, word [ebp - 0x568]
push eax
mov ecx, dword [ebp - 0x454]
push ecx
lea edx, [ebp - 0x330]
push edx
call fcn.10091230
add esp, 0xc
mov word [ebp - 0x56c], ax
movzx eax, word [ebp - 0x56c]
test eax, eax
jne 0x1003fe67
movzx ecx, word [ebp - 0x568]
mov edx, dword [ebp - 0x454]
movzx eax, byte [edx + ecx - 1]
movzx ecx, byte [eax + 0x100a5900]
test ecx, ecx
je 0x1003fe02
movzx edx, word [ebp - 0x568]
movzx eax, byte [ebp + edx - 0x330]
movzx ecx, byte [eax + 0x100a5900]
test ecx, ecx
jne 0x1003fe02
movzx edx, word [ebp - 0x568]
movzx eax, byte [ebp + edx - 0x32f]
movzx ecx, byte [eax + 0x100a5900]
test ecx, ecx
je 0x1003fe02
movzx edx, word [ebp - 0x680]
cmp edx, 0xf
jne 0x1003fe02
mov word [ebp - 0x56c], 1
jmp 0x1003fe67
movzx eax, word [ebp - 0x568]
mov ecx, dword [ebp - 0x454]
movzx edx, byte [ecx + eax - 1]
movzx eax, byte [edx + 0x100a5900]
test eax, eax
je 0x1003fe67
movzx ecx, word [ebp - 0x568]
movzx edx, byte [ebp + ecx - 0x330]
movzx eax, byte [edx + 0x100a5900]
test eax, eax
je 0x1003fe67
movzx ecx, word [ebp - 0x568]
mov edx, dword [ebp - 0x454]
movzx eax, byte [edx + ecx - 1]
movzx ecx, word [ebp - 0x568]
movzx edx, byte [ebp + ecx - 0x330]
cmp eax, edx
jne 0x1003fe67
mov word [ebp - 0x56c], 1
movzx eax, word [ebp - 0x56c]
test eax, eax
jne 0x100400d3
mov word [ebp - 0x56c], 0x64
movzx ecx, word [ebp - 0x568]
cmp ecx, 3
jl 0x1003fe9c
mov edx, dword [ebp + 8]
movzx eax, word [edx + 6]
or eax, 0x40
mov ecx, dword [ebp + 8]
mov word [ecx + 6], ax
push 0xffffffffffffffff
movzx edx, word [ebp - 0x568]
lea eax, [ebp + edx - 0x330]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003feec
movzx edx, word [ebp - 0x568]
lea eax, [ebp + edx - 0x330]
push eax
mov ecx, dword [ebp + 8]
push ecx
call fcn.10022300
add esp, 8
mov dword [ebp - 0x11c], eax
cmp dword [ebp - 0x11c], 0xf42400
jne 0x1003ffd9
movzx edx, word [ebp - 0x568]
lea eax, [ebp + edx - 0x330]
push eax
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
call fcn.10022300
add esp, 0xc
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x568]
sub edx, eax
mov byte [ebp + edx - 0x109], 0x6f
push 0xffffffffffffffff
lea ecx, [ebp - 0x108]
push ecx
mov edx, dword [ebp + 8]
push edx
call fcn.10022300
add esp, 0xc
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 0xc]
and ecx, 0xe0
cmp ecx, 0x40
jne 0x1003ffcf
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xd]
and eax, 0xe0
cmp eax, 0x80
jne 0x1003ffcf
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xd]
and edx, 0x18
cmp edx, 8
jne 0x1003ffcf
cmp dword [ebp - 0x11c], 0x10000
jbe 0x1003ffb1
movzx eax, word [ebp - 0x680]
add eax, 0x25
shl eax, 0x10
mov ecx, dword [ebp - 0x11c]
lea edx, [eax + ecx - 0x10000]
mov dword [ebp - 0x11c], edx
jmp 0x1003ffca
movzx eax, word [ebp - 0x680]
add eax, 0x11
shl eax, 0x10
add eax, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], eax
jmp 0x1004048a
mov dword [ebp - 0x11c], 0xf42400
cmp dword [ebp - 0x11c], 0xf42400
je 0x100400ca
movzx ecx, word [ebp - 0x568]
cmp ecx, 3
jl 0x100400ca
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 0xe0
cmp eax, 0x80
jne 0x10040017
mov ecx, dword [ebp + 8]
mov word [ecx + 0xa], 5
jmp 0x10040064
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 0xe0
cmp eax, 0xc0
jne 0x10040035
mov ecx, dword [ebp + 8]
mov word [ecx + 0xa], 5
jmp 0x10040064
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 0xe0
cmp eax, 0xe0
je 0x1004005a
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 0xe0
cmp edx, 0x20
jne 0x10040064
mov dword [ebp - 0x11c], 0xf42400
movzx eax, word [ebp - 0x680]
cmp eax, 0x13
je 0x100400c8
cmp dword [ebp - 0x11c], 0xf42400
je 0x100400c8
cmp dword [ebp - 0x11c], 0x10000
jbe 0x100400aa
movzx ecx, word [ebp - 0x680]
add ecx, 0x25
shl ecx, 0x10
mov edx, dword [ebp - 0x11c]
lea eax, [ecx + edx - 0x10000]
mov dword [ebp - 0x11c], eax
jmp 0x100400c3
movzx ecx, word [ebp - 0x680]
add ecx, 0x11
shl ecx, 0x10
add ecx, dword [ebp - 0x11c]
mov dword [ebp - 0x11c], ecx
jmp 0x1004048a
jmp 0x100400d3
mov word [ebp - 0x680], 0x16
movzx edx, word [ebp - 0x568]
mov eax, dword [ebp - 0x454]
lea ecx, [eax + edx + 1]
mov dword [ebp - 0x454], ecx
jmp 0x1003fd1c
mov edx, dword [ebp + 8]
cmp dword [edx + 0x31c], 0
jne 0x10040158
movzx eax, word [ebp - 0x120]
cmp eax, 7
jl 0x10040158
lea ecx, [ebp - 0x330]
push ecx
call fcn.10022300
add esp, 4
mov word [ebp - 0x128], ax
movzx edx, word [ebp - 0x128]
cmp edx, 1
jne 0x10040158
mov eax, dword [ebp + 8]
mov word [eax + 0xa], 5
mov ecx, dword [ebp + 8]
mov byte [ecx + 0xc], 0x9c
mov edx, dword [ebp + 8]
mov byte [edx + 0xd], 8
mov eax, dword [ebp + 8]
mov byte [eax + 0xe], 0
mov ecx, dword [ebp + 8]
mov byte [ecx + 0xf], 8
mov eax, 0x989680
jmp 0x1004057c
movzx edx, word [ebp - 0x120]
cmp edx, 7
jle 0x1004025c
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x331]
cmp ecx, 0x65
je 0x10040194
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x331]
cmp eax, 0x69
jne 0x1004025c
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x333]
cmp edx, 0x6e
jne 0x1004025c
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x332]
cmp ecx, 0x6e
jne 0x1004025c
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x334]
cmp eax, 0x65
jne 0x1004025c
lea ecx, [ebp - 0x330]
push ecx
call fcn.10022300
add esp, 4
mov word [ebp - 0x128], ax
movzx edx, word [ebp - 0x128]
cmp edx, 1
jne 0x1004025c
mov eax, dword [ebp + 8]
mov byte [eax], 0x80
mov ecx, dword [ebp + 8]
mov byte [ecx + 0xc], 0xc2
mov edx, dword [ebp + 8]
mov byte [edx + 0xd], 0xb
mov eax, dword [ebp + 8]
mov byte [eax + 0xe], 0x1c
mov ecx, dword [ebp + 8]
mov byte [ecx + 0xf], 0
mov edx, dword [ebp + 8]
mov byte [edx + 0x10], 5
mov eax, dword [ebp + 8]
mov word [eax + 0xa], 5
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x331]
cmp edx, 0x69
jne 0x10040252
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
add ecx, 1
mov edx, dword [ebp + 8]
mov byte [edx], cl
mov eax, 0x989681
jmp 0x1004057c
movzx eax, word [ebp - 0x120]
cmp eax, 0xa
jle 0x10040397
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x332]
cmp edx, 0x6d
jne 0x10040397
movzx eax, word [ebp - 0x120]
movzx ecx, byte [ebp + eax - 0x334]
cmp ecx, 0x73
jne 0x10040397
movzx edx, word [ebp - 0x120]
movzx eax, byte [ebp + edx - 0x333]
cmp eax, 0x69
jne 0x10040397
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x335]
cmp edx, 0x65
jne 0x10040397
lea eax, [ebp - 0x330]
push eax
call fcn.10022300
add esp, 4
mov word [ebp - 0x128], ax
movzx ecx, word [ebp - 0x128]
cmp ecx, 1
jne 0x10040397
mov dword [ebp - 0x11c], 0x989682
mov edx, dword [ebp + 8]
mov word [edx + 0xa], 5
mov eax, dword [ebp + 8]
mov byte [eax + 0xc], 0x90
mov ecx, dword [ebp + 8]
mov byte [ecx + 0xd], 7
mov edx, dword [ebp + 8]
mov byte [edx + 0xe], 0
mov eax, dword [ebp + 8]
mov byte [eax + 0xf], 1
movzx ecx, word [ebp - 0x120]
movzx edx, byte [ebp + ecx - 0x331]
mov dword [ebp - 0x9d4], edx
mov eax, dword [ebp - 0x9d4]
sub eax, 0x61
mov dword [ebp - 0x9d4], eax
cmp dword [ebp - 0x9d4], 0xe
ja case.0x1004035b.1
mov ecx, dword [ebp - 0x9d4]
movzx edx, byte [ecx + 0x10040634]
jmp dword [edx*4 + 0x10040620]
mov eax, dword [ebp + 8]
mov byte [eax], 0
jmp 0x1004038c
mov ecx, dword [ebp + 8]
mov byte [ecx], 2
jmp 0x1004038c
mov edx, dword [ebp + 8]
mov byte [edx], 1
jmp 0x1004038c
mov eax, dword [ebp + 8]
mov byte [eax], 3
jmp 0x1004038c
mov dword [ebp - 0x11c], 0xf42400
mov eax, dword [ebp - 0x11c]
jmp 0x1004057c
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x31c], 0
jne 0x1004048a
movzx edx, word [ebp - 0x120]
cmp edx, 4
jle 0x1004048a
mov eax, dword [0x100a5670]
mov dword [ebp - 0x454], eax
mov word [ebp - 0x680], 0
jmp 0x100403df
mov cx, word [ebp - 0x680]
add cx, 1
mov word [ebp - 0x680], cx
movzx edx, word [ebp - 0x680]
cmp edx, 0x10
jge 0x10040480
mov eax, dword [ebp - 0x454]
push eax
call fcn.10090280
add esp, 4
mov word [ebp - 0x568], ax
movzx ecx, word [ebp - 0x568]
movzx edx, word [ebp - 0x120]
cmp ecx, edx
jge 0x10040450
movzx eax, word [ebp - 0x568]
sub eax, 1
push eax
mov ecx, dword [ebp - 0x454]
push ecx
movzx edx, word [ebp - 0x120]
movzx eax, word [ebp - 0x568]
sub edx, eax
lea ecx, [ebp + edx - 0x330]
push ecx
call fcn.10091230
add esp, 0xc
mov word [ebp - 0x56c], ax
movzx edx, word [ebp - 0x56c]
test edx, edx
jne 0x10040464
mov eax, dword [ebp + 8]
mov word [eax + 6], 0x40
movzx ecx, word [ebp - 0x568]
mov edx, dword [ebp - 0x454]
lea eax, [edx + ecx + 1]
mov dword [ebp - 0x454], eax
jmp 0x100403cd
mov dword [ebp - 0x11c], 0xf42400
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x31c], 1
jne 0x1004050d
cmp dword [ebp - 0x11c], 0xf42400
je 0x1004050d
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xc]
and eax, 0xe0
mov word [ebp - 0x56c], ax
movzx ecx, word [ebp - 0x56c]
cmp ecx, 0x80
jne 0x100404d0
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xe]
and eax, 0x20
jne 0x10040503
movzx ecx, word [ebp - 0x56c]
cmp ecx, 0xc0
jne 0x100404eb
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xd]
and eax, 0x10
jne 0x10040503
movzx ecx, word [ebp - 0x56c]
cmp ecx, 0x20
jne 0x1004050d
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 0xd]
and eax, 4
je 0x1004050d
mov dword [ebp - 0x11c], 0xf42400
cmp dword [ebp - 0x11c], 0xf42400
je 0x10040576
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx + 0xc]
and edx, 0xe0
cmp edx, 0x40
jne 0x10040576
mov eax, dword [ebp + 8]
movzx ecx, byte [eax + 2]
test ecx, ecx
je 0x10040576
mov edx, dword [ebp + 8]
mov al, byte [edx + 2]
shl al, 4
mov ecx, dword [ebp + 8]
mov byte [ecx + 2], al
mov edx, dword [ebp + 8]
movzx eax, byte [edx + 2]
mov ecx, dword [ebp + 8]
movzx edx, byte [ecx]
or edx, eax
mov eax, dword [ebp + 8]
mov byte [eax], dl
mov ecx, dword [ebp + 8]
movzx edx, word [ecx + 4]
cmp edx, 1
jne 0x10040576
mov eax, dword [ebp + 8]
movzx ecx, byte [eax]
or ecx, 0x80
mov edx, dword [ebp + 8]
mov byte [edx], cl
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 8]
call fcn.1009023b
mov esp, ebp
pop ebp
ret