Function at 0x100c3e90
Capabilities:
Hash data using crc32b

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x47d47c0
mov eax, dword fs:[0]
push eax
mov eax, 0x54d0
call fcn.10142e60
mov eax, dword [0x481d71c]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x47e5328]
sub eax, 0x64
mov dword [0x4829328], eax
mov ecx, dword [0x47e51f0]
sub ecx, 0x64
mov dword [0x482932c], ecx
mov edx, dword [0x47e51ec]
sub edx, 0x64
mov dword [0x4829330], edx
mov eax, dword [0x47e51e8]
sub eax, 0x64
mov dword [0x4829334], eax
mov ecx, dword [0x47e51e4]
sub ecx, 0x64
mov dword [0x4829338], ecx
mov edx, dword [0x47e54a8]
sub edx, 0x64
mov dword [0x482933c], edx
mov eax, dword [0x47e51e0]
sub eax, 0x64
mov dword [0x4829340], eax
mov ecx, dword [0x47e54ec]
sub ecx, 0x64
mov dword [0x4829344], ecx
mov edx, dword [0x47e54ac]
sub edx, 0x64
mov dword [0x4829348], edx
mov eax, dword [0x47e50d4]
sub eax, 0x64
mov dword [0x482934c], eax
mov ecx, dword [0x47e5364]
sub ecx, 0x64
mov dword [0x4829350], ecx
mov edx, dword [0x47e5090]
sub edx, 0x64
mov dword [0x4829354], edx
mov eax, dword [0x47e535c]
sub eax, 0x64
mov dword [0x4829358], eax
mov ecx, dword [0x47e5038]
sub ecx, 0x64
mov dword [0x482936c], ecx
mov edx, dword [0x47e5014]
sub edx, 0x64
mov dword [0x4829370], edx
mov eax, dword [0x47e5018]
sub eax, 0x64
mov dword [0x4829374], eax
mov ecx, dword [0x47e5000]
sub ecx, 0x64
mov dword [0x4829378], ecx
mov edx, dword [0x47e501c]
sub edx, 0x64
mov dword [0x482937c], edx
mov eax, dword [0x47e5020]
sub eax, 0x64
mov dword [0x4829380], eax
push 0x47e93d4
push 0x47e7570
call dword [0x47e5328]
push eax
call fcn.100a7fc0
add esp, 8
mov dword [0x4829384], eax
push 0x47e93c8
push 0x47e7570
call dword [0x47e5328]
push eax
call fcn.100a7fc0
add esp, 8
mov dword [0x4829388], eax
push 3
mov ecx, dword [0x47e5328]
push ecx
call fcn.100ccff0
add esp, 8
movzx esi, al
push 3
mov edx, dword [0x4829384]
push edx
call fcn.100ccff0
add esp, 8
movzx eax, al
add esi, eax
mov dword [ebp - 0x2b4], esi
mov ecx, dword [0x47e5370]
sub ecx, 0x64
mov dword [0x482938c], ecx
mov edx, 0xe
shl edx, 2
mov eax, dword [0x48205d4]
mov ecx, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [ecx + 0x64]
xor ebx, dword [eax + edx]
and ebx, 0x20
neg ebx
sbb ebx, ebx
neg ebx
movzx edx, bl
test edx, edx
je 0x100c4083
call fcn.100da470
push 0x47e93c0
call fcn.100e5500
add esp, 4
call dword [0x47e51dc]
mov dword [0x4829390], eax
call dword [0x47e51d8]
mov dword [0x4829394], eax
call dword [0x47e51d4]
mov dword [0x4829398], eax
call dword [0x47e51d0]
mov dword [0x482939c], eax
push 0x47e93b4
call fcn.100e5500
add esp, 4
call fcn.100ba170
movzx eax, al
test eax, eax
jne 0x100c4170
push 0x10010
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0xf
call fcn.1008e360
add esp, 0x28
push eax
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x53
call fcn.1008e360
add esp, 0x28
push eax
push 0
call fcn.1008cd00
add esp, 4
push eax
push 0x47e93a0
call fcn.1012edc0
add esp, 0x14
mov eax, 2
jmp 0x100c855d
push 0x47e9394
call fcn.100e5500
add esp, 4
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
mov eax, dword [edx]
and eax, 1
je 0x100c41aa
mov cl, byte [0x48205ae]
mov byte [ebp - 0x5205], cl
movzx edx, byte [ebp - 0x5205]
test edx, edx
je 0x100c41aa
mov byte [ebp - 0x520d], 1
jmp 0x100c41b1
mov byte [ebp - 0x520d], 0
mov eax, dword [0x4822518]
mov dword [ebp - 0x520c], eax
mov ecx, dword [ebp - 0x520c]
mov dl, byte [ebp - 0x520d]
mov byte [ecx + 0x582], dl
push 0x47e9388
call fcn.100e5500
add esp, 4
mov eax, 0xe
shl eax, 2
mov ecx, dword [0x48205d4]
mov edx, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [edx + 0x64]
xor ebx, dword [ecx + eax]
and ebx, 0x20
neg ebx
sbb ebx, ebx
neg ebx
movzx eax, bl
test eax, eax
je 0x100c4228
push 3
mov ecx, dword [0x47e51cc]
push ecx
call fcn.100ccff0
add esp, 8
movzx edx, al
mov dword [ebp - 0x2c0], edx
push 0x47e9380
call fcn.100e5500
add esp, 4
mov eax, dword [0x47e51c8]
sub eax, 0x64
mov dword [0x482935c], eax
mov ecx, dword [0x47e5104]
sub ecx, 0x64
mov dword [0x4829360], ecx
mov edx, dword [0x47e54cc]
sub edx, 0x64
mov dword [0x4829364], edx
mov eax, dword [0x47e54b0]
sub eax, 0x64
mov dword [0x4829368], eax
mov ecx, 0x1c
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov esi, dword [esi + 0x6c]
xor esi, dword [eax + 0x2c]
xor esi, dword [edx + ecx]
mov dword [ebp - 0xa8], esi
mov ecx, 0x1f
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov esi, dword [esi + 0x40]
xor esi, dword [eax + 0x64]
xor esi, dword [edx + ecx]
mov dword [ebp - 0x2bc], esi
mov ecx, dword [ebp - 0xa8]
add ecx, dword [ebp - 0x2bc]
mov dword [ebp - 0xa0], ecx
call fcn.100da470
mov dword [ebp - 0x2b0], eax
cmp dword [ebp - 0x2b0], 0
je 0x100c4309
mov edx, 5
shl edx, 2
mov eax, dword [0x48205d4]
mov ecx, dword [eax + edx]
xor ecx, 0x2611
mov edx, 5
shl edx, 2
mov eax, dword [0x48205d4]
mov dword [edx + eax], ecx
call fcn.100c86d0
movzx ecx, al
test ecx, ecx
je 0x100c431f
mov eax, 2
jmp 0x100c855d
push 0
mov ecx, 0x481ff88
call fcn.1007d800
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 0
jne 0x100c439c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
push ecx
call fcn.10142e90
add esp, 4
test eax, eax
je 0x100c439c
mov edx, dword [0x4822518]
mov dword [ebp - 0x5214], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
push ecx
mov ecx, dword [ebp - 0x5214]
call fcn.100744b0
movzx edx, al
test edx, edx
jne 0x100c438d
push 0x10
push 0
push 0x47e9370
push 0
call fcn.1008cd00
add esp, 4
push eax
push 0x47e9358
call fcn.1012f790
add esp, 0x14
mov eax, 2
jmp 0x100c855d
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 1
je 0x100c43b2
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x14], 8
jne 0x100c443a
mov dl, byte [0x48205b2]
mov byte [ebp - 0x5215], dl
movzx eax, byte [ebp - 0x5215]
test eax, eax
jne 0x100c43e0
mov cl, byte [0x48205a7]
mov byte [ebp - 0x5216], cl
movzx edx, byte [ebp - 0x5216]
test edx, edx
je 0x100c443a
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
push ecx
push 0x48293c0
call fcn.10142f20
add esp, 8
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 8
sete al
movzx ecx, al
push ecx
push 0
push 0
call fcn.100bef30
add esp, 0xc
movzx edx, al
test edx, edx
je 0x100c4421
mov eax, dword [ebp + 8]
mov dword [eax + 0x34], 0
jmp 0x100c442b
mov ecx, dword [ebp + 8]
mov dword [ecx + 0x34], 1
mov eax, 2
jmp 0x100c855d
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 3
jne 0x100c4457
call fcn.100c1b60
mov eax, 2
jmp 0x100c855d
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 4
jne 0x100c448b
mov cl, byte [0x48205b0]
mov byte [ebp - 0x5217], cl
movzx edx, byte [ebp - 0x5217]
test edx, edx
je 0x100c448b
call fcn.100c9c70
mov eax, 2
jmp 0x100c855d
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 5
jne 0x100c44c1
mov cl, byte [0x48205b3]
mov byte [ebp - 0x5218], cl
movzx edx, byte [ebp - 0x5218]
test edx, edx
je 0x100c44c1
push 0
call fcn.100c9500
add esp, 4
mov eax, 2
jmp 0x100c855d
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 9
jne 0x100c44e0
push 1
call fcn.100c9500
add esp, 4
mov eax, 2
jmp 0x100c855d
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x14], 6
jne 0x100c44fa
call fcn.100cabd0
mov eax, 2
jmp 0x100c855d
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 7
jne 0x100c4516
push 0
call fcn.100b9f70
mov eax, 2
jmp 0x100c855d
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 0xa
jne 0x100c4529
mov eax, 2
jmp 0x100c855d
mov cl, byte [0x47e5fc1]
mov byte [ebp - 0x2ac], cl
push 0x1ff
push 0
lea edx, [ebp - 0x2ab]
push edx
call fcn.10142860
add esp, 0xc
mov dword [ebp - 0x9c], 0
mov al, byte [0x48205a7]
mov byte [ebp - 0x5219], al
movzx ecx, byte [ebp - 0x5219]
test ecx, ecx
je 0x100c45a6
mov ecx, 0x481ff88
call fcn.1007d670
push eax
push 0x1ff
lea edx, [ebp - 0x2ac]
push edx
push 0x47e5fc1
push 0x47e934c
push 0x47e6840
call dword [0x47e5348]
mov dword [ebp - 0x9c], 0x47e934c
jmp 0x100c4629
mov al, byte [0x48205b2]
mov byte [ebp - 0x521a], al
movzx ecx, byte [ebp - 0x521a]
test ecx, ecx
je 0x100c4629
mov ecx, 0x481ff88
call fcn.1007d670
push eax
push 0x1ff
lea edx, [ebp - 0x2ac]
push edx
push 0x47e5fc1
push 0x47e9344
push 0x47e6840
call dword [0x47e5348]
movsx eax, byte [ebp - 0x2ac]
test eax, eax
jne 0x100c4629
mov ecx, 0x481ff88
call fcn.1007d670
push eax
push 0x1ff
lea ecx, [ebp - 0x2ac]
push ecx
push 0x47e5fc1
push 0x47e6848
push 0x47e6840
call dword [0x47e5348]
mov dword [ebp - 0x9c], 0x47e6848
lea edx, [ebp - 0x2ac]
push edx
call fcn.10142e90
add esp, 4
test eax, eax
je 0x100c474c
mov al, byte [0x47e5fc1]
mov byte [ebp - 0x3c4], al
push 0xff
push 0
lea ecx, [ebp - 0x3c3]
push ecx
call fcn.10142860
add esp, 0xc
mov dl, byte [0x47e5fc1]
mov byte [ebp - 0x4c4], dl
push 0xff
push 0
lea eax, [ebp - 0x4c3]
push eax
call fcn.10142860
add esp, 0xc
lea ecx, [ebp - 0x4c4]
push ecx
lea edx, [ebp - 0x3c4]
push edx
lea eax, [ebp - 0x2ac]
push eax
call fcn.100e5680
add esp, 0xc
movzx ecx, al
test ecx, ecx
je 0x100c474c
mov edx, dword [0x47e8c04]
mov dword [ebp - 0x5228], edx
sub esp, 8
mov eax, esp
mov dword [ebp - 0x5220], esp
mov dword [ebp - 0x5224], eax
mov ecx, dword [ebp - 0x5224]
mov byte [ecx], 0
mov dword [ebp - 4], 0
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x5224]
mov dword [ebp - 0x54a8], edx
mov dword [ebp - 4], 1
push 1
lea eax, [ebp - 0x4c4]
push eax
lea ecx, [ebp - 0x3c4]
push ecx
mov dword [ebp - 4], 0xffffffff
mov ecx, 0x481ff88
call fcn.1007e6a0
mov byte [ebp - 0x54a9], al
movzx edx, byte [ebp - 0x54a9]
test edx, edx
je 0x100c474c
cmp dword [ebp - 0x9c], 0
je 0x100c474c
mov ecx, 0x481ff88
call fcn.1007d670
push eax
push 0
mov eax, dword [ebp - 0x9c]
push eax
push 0x47e6840
call dword [0x47e5358]
push 0x47e933c
call fcn.100e5500
add esp, 4
call fcn.100ccff0
mov byte [ebp - 0xa2], al
mov ecx, dword [0x48296d8]
mov dword [0x48296d4], ecx
movzx edx, byte [ebp - 0xa2]
test edx, edx
je 0x100c47a3
mov eax, 5
shl eax, 2
mov ecx, dword [0x48205d4]
mov edx, dword [ecx + eax]
xor edx, 0x1c96
mov eax, 5
shl eax, 2
mov ecx, dword [0x48205d4]
mov dword [eax + ecx], edx
mov ecx, 0x481ff88
call fcn.100c8640
movzx edx, al
test edx, edx
je 0x100c486e
call fcn.100a4560
movzx eax, al
test eax, eax
je 0x100c486e
push 0x10044
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0xe
call fcn.1008e360
add esp, 0x28
push eax
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x42
call fcn.1008e360
add esp, 0x28
push eax
push 0
call fcn.1008cd00
add esp, 4
push eax
push 0x47e932c
call fcn.1012edc0
add esp, 0x14
cmp eax, 6
jne 0x100c4864
push 0
push 2
call dword [0x47e54b4]
mov eax, 2
jmp 0x100c855d
push 0x47e9324
call fcn.100e5500
add esp, 4
call fcn.100ccff0
push 0x47e931c
call fcn.100e5500
add esp, 4
mov edx, dword [0x4822518]
mov dword [ebp - 0x522c], edx
mov eax, dword [ebp - 0x522c]
mov byte [eax + 0x584], 0
mov ecx, dword [0x4822518]
mov dword [ebp - 0x5230], ecx
mov edx, dword [ebp - 0x5230]
mov al, byte [edx + 0x578]
mov byte [ebp - 0x5231], al
movzx ecx, byte [ebp - 0x5231]
test ecx, ecx
je 0x100c4975
push 0x47e9314
call fcn.100e5500
add esp, 4
push 0
mov ecx, dword [0x4822518]
call fcn.10074260
push 0x47e930c
call fcn.100e5500
add esp, 4
push 1
mov ecx, dword [0x4822518]
call fcn.10074260
push 0x47e9304
call fcn.100e5500
add esp, 4
push 0
mov ecx, 0x481ff88
call fcn.1007d800
push 0x47e92fc
call fcn.100e5500
add esp, 4
mov edx, dword [0x4822518]
mov dword [ebp - 0x5238], edx
push 0
push 0
mov ecx, dword [ebp - 0x5238]
call fcn.10074170
movzx eax, al
test eax, eax
jne 0x100c4975
mov ecx, dword [0x4822518]
mov dword [ebp - 0x523c], ecx
mov edx, dword [ebp - 0x523c]
mov byte [edx + 0x578], 0
push 0x573
call fcn.100bb7c0
add esp, 4
push 0x47e92f0
call fcn.100e5500
add esp, 4
mov byte [ebp - 0xa1], 0
mov byte [0x481aaec], 1
mov eax, dword [0x4822518]
mov dword [ebp - 0x5240], eax
mov ecx, dword [ebp - 0x5240]
mov dl, byte [ecx + 0x578]
mov byte [ebp - 0x5241], dl
movzx eax, byte [ebp - 0x5241]
test eax, eax
jne 0x100c4e9d
mov byte [ebp - 0x4c5], 1
push 0x47e92e4
call fcn.100e5500
add esp, 4
call fcn.100bb7d0
cmp eax, 0x573
jne 0x100c4ad8
push 0x47e92d8
call fcn.100e5500
add esp, 4
mov ecx, dword [0x4822518]
mov dword [ebp - 0x5248], ecx
push 1
mov ecx, dword [ebp - 0x5248]
call fcn.10073830
push eax
push 0x47e60a4
lea edx, [ebp - 0x4d8]
push edx
call fcn.10143018
add esp, 0xc
lea eax, [ebp - 0x4d8]
push eax
lea ecx, [ebp - 0x74]
call fcn.100d55d0
mov dword [ebp - 4], 2
push 0x10010
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0xf
call fcn.1008e360
add esp, 0x28
push eax
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
lea ecx, [ebp - 0x74]
push ecx
push 0x29
call fcn.1008e360
add esp, 0x28
push eax
push 0
call fcn.1008cd00
add esp, 4
push eax
push 0x47e92c4
call fcn.1012edc0
add esp, 0x14
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x74]
call fcn.10063b90
mov byte [ebp - 0x4c5], 0
jmp 0x100c4e5c
call fcn.100bb7d0
cmp eax, 0x47e
jne 0x100c4b8e
push 0x47e92b8
call fcn.100e5500
add esp, 4
push 0x10010
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0xf
call fcn.1008e360
add esp, 0x28
push eax
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x30
call fcn.1008e360
add esp, 0x28
push eax
push 0
call fcn.1008cd00
add esp, 4
push eax
push 0x47e92a0
call fcn.1012edc0
add esp, 0x14
mov byte [ebp - 0x4c5], 0
jmp 0x100c4e5c
call fcn.100bb7d0
cmp eax, 0x53d
jne 0x100c4c44
push 0x47e9294
call fcn.100e5500
add esp, 4
push 0x10010
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0xf
call fcn.1008e360
add esp, 0x28
push eax
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x4f
call fcn.1008e360
add esp, 0x28
push eax
push 0
call fcn.1008cd00
add esp, 4
push eax
push 0x47e9280
call fcn.1012edc0
add esp, 0x14
mov byte [ebp - 0x4c5], 0
jmp 0x100c4e5c
mov edx, dword [0x4822518]
mov dword [ebp - 0x5268], edx
mov ecx, dword [ebp - 0x5268]
call fcn.10070750
movzx eax, al
test eax, eax
jne 0x100c4e33
mov cl, byte [0x48205a7]
mov byte [ebp - 0x5269], cl
movzx edx, byte [ebp - 0x5269]
test edx, edx
jne 0x100c4e33
push 0x47e9274
call fcn.100e5500
add esp, 4
mov al, byte [0x48205b1]
mov byte [ebp - 0x526a], al
movzx ecx, byte [ebp - 0x526a]
test ecx, ecx
je 0x100c4d00
push 0x47e9268
call fcn.100e5500
add esp, 4
push 0
push 0x47e624c
push 0x47e62a4
mov ecx, 0x4822520
call fcn.1006a020
mov ecx, 0x481ff88
call fcn.10073a90
movzx edx, al
test edx, edx
jne 0x100c4cfb
call fcn.100bf4b0
movzx eax, al
test eax, eax
je 0x100c4cf4
mov byte [0x481aaec], 0
mov byte [ebp - 0xa1], 1
jmp 0x100c4cfb
mov byte [ebp - 0x4c5], 0
jmp 0x100c4e31
push 0x47e925c
call fcn.100e5500
add esp, 4
push 0
mov ecx, 0x481ff88
call fcn.1007d800
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x15
call fcn.1008e360
add esp, 0x28
push eax
lea ecx, [ebp - 0x24dc]
push ecx
call fcn.101430eb
add esp, 8
push 0x10013
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x2f
call fcn.1008e360
add esp, 0x28
push eax
lea edx, [ebp - 0x24dc]
push edx
push 0
call fcn.1008cd00
add esp, 4
push eax
push 0x47e924c
call fcn.1012edc0
add esp, 0x14
mov dword [ebp - 0x24e0], eax
cmp dword [ebp - 0x24e0], 2
jne 0x100c4de9
push 0x10
call dword [0x47e54d0]
cwde
and eax, 0xfffffffe
je 0x100c4de0
push 0
call fcn.100b9f70
mov byte [ebp - 0x4c5], 0
jmp 0x100c4e31
cmp dword [ebp - 0x24e0], 6
jne 0x100c4dfb
mov byte [ebp - 0xa1], 1
jmp 0x100c4e31
cmp dword [ebp - 0x24e0], 7
jne 0x100c4e31
mov ecx, 0x481ff88
call fcn.10073a90
movzx ecx, al
test ecx, ecx
jne 0x100c4e31
call fcn.100bf4b0
movzx edx, al
test edx, edx
je 0x100c4e2a
mov byte [ebp - 0xa1], 1
jmp 0x100c4e31
mov byte [ebp - 0x4c5], 0
jmp 0x100c4e5c
push 0x47e9240
call fcn.100e5500
add esp, 4
call fcn.100bf4b0
movzx eax, al
test eax, eax
je 0x100c4e55
mov byte [ebp - 0xa1], 1
jmp 0x100c4e5c
mov byte [ebp - 0x4c5], 0
movzx ecx, byte [ebp - 0xa1]
test ecx, ecx
je 0x100c4e83
push 0
push 1
push 0
call fcn.100bef30
add esp, 0xc
movzx edx, al
test edx, edx
jne 0x100c4e83
mov byte [ebp - 0x4c5], 0
movzx eax, byte [ebp - 0x4c5]
test eax, eax
jne 0x100c4e98
mov eax, 2
jmp 0x100c855d
jmp 0x100c5102
mov ecx, dword [0x4822518]
mov dword [ebp - 0x5288], ecx
mov edx, dword [ebp - 0x5288]
mov al, byte [edx + 0x579]
mov byte [ebp - 0x5289], al
movzx ecx, byte [ebp - 0x5289]
test ecx, ecx
je 0x100c506d
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 2
jne 0x100c506d
push 0x47e9234
call fcn.100e5500
add esp, 4
mov al, byte [0x48205a6]
mov byte [ebp - 0x528a], al
movzx ecx, byte [ebp - 0x528a]
test ecx, ecx
jne 0x100c4fd1
call fcn.100ca000
mov dword [ebp - 0x24e4], eax
cmp dword [ebp - 0x24e4], 0
je 0x100c4fcc
mov edx, dword [0x4822518]
mov dword [ebp - 0x5290], edx
mov eax, dword [ebp - 0x24e4]
push eax
mov ecx, dword [ebp - 0x5290]
call fcn.100787b0
movzx ecx, al
test ecx, ecx
jne 0x100c4fcc
push 0x10010
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0xf
call fcn.1008e360
add esp, 0x28
push eax
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x51
call fcn.1008e360
add esp, 0x28
push eax
push 0
call fcn.1008cd00
add esp, 4
push eax
push 0x47e8dd4
call fcn.1012edc0
add esp, 0x14
jmp 0x100c505e
push 0x10040
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0xf
call fcn.1008e360
add esp, 0x28
push eax
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x482a4e0
push 0x3e
call fcn.1008e360
add esp, 0x28
push eax
push 0
call fcn.1008cd00
add esp, 4
push eax
push 0x47e9218
call fcn.1012edc0
add esp, 0x14
mov eax, 2
jmp 0x100c855d
push 0x47e920c
call fcn.100e5500
add esp, 4
push 0
mov ecx, 0x481ff88
call fcn.1007d800
mov edx, dword [0x4822518]
mov dword [ebp - 0x5294], edx
mov eax, dword [ebp - 0x5294]
mov cl, byte [eax + 0x609]
mov byte [ebp - 0x5295], cl
movzx edx, byte [ebp - 0x5295]
test edx, edx
je 0x100c50e2
mov eax, dword [0x4822518]
mov dword [ebp - 0x529c], eax
mov ecx, dword [ebp - 0x529c]
mov dl, byte [ecx + 0x60a]
mov byte [ebp - 0x529d], dl
movzx eax, byte [ebp - 0x529d]
test eax, eax
je 0x100c50e2
mov ecx, dword [0x4822518]
call fcn.1007b430
call fcn.100bf380
movzx ecx, al
test ecx, ecx
jne 0x100c5102
push 1
call fcn.100ba630
add esp, 4
mov eax, 2
jmp 0x100c855d
mov edx, dword [0x4822518]
mov dword [ebp - 0x52a4], edx
mov eax, dword [ebp - 0x52a4]
mov cl, byte [eax + 0x584]
mov byte [ebp - 0x52a5], cl
movzx edx, byte [ebp - 0x52a5]
test edx, edx
je 0x100c513d
push 0x47e9200
call fcn.100e5500
add esp, 4
jmp 0x100c488d
push 0
call fcn.100ba630
add esp, 4
test eax, eax
je 0x100c51d7
mov ecx, 0x4820630
call fcn.10072420
and eax, 1
je 0x100c51d7
call fcn.10128f10
movzx eax, al
test eax, eax
je 0x100c51c3
mov ecx, dword [0x4822518]
call fcn.10079210
push 0
mov ecx, dword [0x4822518]
push ecx
call fcn.10063520
add esp, 8
push 1
call fcn.100ba630
add esp, 4
mov dword [ebp - 0x24e8], eax
mov edx, dword [0x48205d8]
mov dword [ebp - 0x52ac], edx
mov eax, dword [ebp - 0x24e8]
xor eax, dword [ebp - 0x52ac]
xor eax, 0xffffffff
push eax
mov ecx, dword [0x4822518]
push ecx
call fcn.10128fb0
add esp, 8
jmp 0x100c51cd
push 1
call fcn.100ba630
add esp, 4
mov eax, 2
jmp 0x100c855d
push 0x47e91f8
call fcn.100e5500
add esp, 4
mov edx, 0xc
shl edx, 2
mov eax, dword [0x48205d4]
mov ecx, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov edi, dword [0x48205d4]
mov edi, dword [edi + 0x50]
xor edi, dword [esi + 0x54]
xor edi, dword [ecx + 4]
xor edi, dword [eax + edx]
mov dword [ebp - 0x98], edi
je 0x100c533f
mov dword [ebp - 0x24ec], 0x1e
mov dword [ebp - 0x24f0], 0x2d
mov edx, dword [0x48220e8]
mov dword [ebp - 0x52b0], edx
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebp - 0x52b0]
je 0x100c5278
mov ecx, dword [ebp - 0x98]
mov dword [0x48220e8], ecx
mov dword [0x48220ec], 0
mov dword [0x48220f0], 0
mov dword [0x48220f4], 0
jmp 0x100c52fe
push 0
call fcn.101447fe
add esp, 4
cmp dword [ebp - 0x98], eax
jbe 0x100c52a4
mov edx, dword [0x48220ec]
mov dword [ebp - 0x52b4], edx
mov eax, dword [ebp - 0x52b4]
add eax, 1
mov dword [0x48220ec], eax
mov ecx, dword [0x48220f4]
mov dword [ebp - 0x52b8], ecx
push 0
call fcn.100dd6c0
add esp, 4
movzx edx, ax
cmp edx, dword [ebp - 0x52b8]
je 0x100c52fe
push 0
call fcn.100dd6c0
add esp, 4
movzx eax, ax
mov dword [ebp - 0x52bc], eax
mov ecx, dword [ebp - 0x52bc]
mov dword [0x48220f4], ecx
mov edx, dword [0x48220f0]
mov dword [ebp - 0x52c0], edx
mov eax, dword [ebp - 0x52c0]
add eax, 1
mov dword [0x48220f0], eax
mov ecx, dword [0x48220ec]
mov dword [ebp - 0x52c4], ecx
cmp dword [ebp - 0x52c4], 0x2d
ja 0x100c5328
mov edx, dword [0x48220f0]
mov dword [ebp - 0x52c8], edx
cmp dword [ebp - 0x52c8], 0x1e
jbe 0x100c533f
push 0x47e91f0
call fcn.100bb990
add esp, 4
mov eax, 2
jmp 0x100c855d
push 0x47e91e4
call fcn.100e5500
add esp, 4
mov eax, dword [0x4822518]
mov dword [ebp - 0x52cc], eax
mov ecx, dword [ebp - 0x52cc]
call fcn.1007b800
movzx ecx, al
test ecx, ecx
jne 0x100c5373
mov eax, 2
jmp 0x100c855d
mov edx, dword [0x4822518]
mov dword [ebp - 0x52d0], edx
mov ecx, dword [ebp - 0x52d0]
call fcn.10073a00
movzx eax, al
test eax, eax
jne 0x100c539b
mov eax, 2
jmp 0x100c855d
mov ecx, 0xe
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [eax + 0x64]
xor ebx, dword [edx + ecx]
and ebx, 0x20
neg ebx
sbb ebx, ebx
neg ebx
movzx ecx, bl
test ecx, ecx
je 0x100c53e1
call fcn.1008cf80
test eax, eax
jne 0x100c53e1
call fcn.100ccff0
mov byte [ebp - 0x2b5], al
mov eax, dword [0x4822518]
mov dword [ebp - 0x52d4], eax
mov ecx, dword [ebp - 0x52d4]
mov edx, dword [ecx + 0x5cc]
mov dword [ebp - 0x52d8], edx
cmp dword [ebp - 0x52d8], 0
je 0x100c55b6
mov eax, dword [0x4822518]
mov dword [ebp - 0x52dc], eax
mov ecx, dword [ebp - 0x52dc]
mov edx, dword [ecx + 0x5cc]
mov dword [ebp - 0x52e0], edx
mov eax, dword [0x4829300]
add eax, dword [ebp - 0x52e0]
mov dword [ebp - 0x2500], eax
mov ecx, dword [ebp - 0x2500]
mov edx, dword [ecx]
mov dword [ebp - 0x24fc], edx
mov eax, dword [ebp - 0x2500]
add eax, 4
mov dword [ebp - 0x2500], eax
mov ecx, dword [ebp - 0x24fc]
add ecx, 0x10000
push ecx
call fcn.1013c321
add esp, 4
mov dword [ebp - 0x51b8], eax
mov edx, dword [ebp - 0x51b8]
mov dword [ebp - 0x24f8], edx
mov eax, dword [ebp - 0x24f8]
mov dword [ebp - 0x24f4], eax
mov ecx, 1
test ecx, ecx
je 0x100c5520
mov edx, dword [ebp - 0x24fc]
add edx, 0x10000
mov dword [ebp - 0x2504], edx
push 0
push 0
lea eax, [ebp - 0x2504]
push eax
mov ecx, dword [ebp - 0x24f4]
push ecx
mov edx, dword [ebp - 0x2500]
push edx
call fcn.1008c400
add esp, 0x14
mov dword [ebp - 0x2500], eax
cmp dword [ebp - 0x2500], 0
jne 0x100c54fe
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ecx], 0
push 0x47e91d4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
call fcn.10142f20
add esp, 8
xor eax, eax
jmp 0x100c855d
cmp dword [ebp - 0x2504], 0
jne 0x100c5509
jmp 0x100c5520
mov ecx, dword [ebp - 0x24f4]
add ecx, dword [ebp - 0x2504]
mov dword [ebp - 0x24f4], ecx
jmp 0x100c5489
mov edx, dword [0x4822518]
mov dword [ebp - 0x52e4], edx
mov eax, dword [ebp - 0x52e4]
mov cx, word [eax + 0x5ba]
mov word [ebp - 0x52e6], cx
movzx edx, word [ebp - 0x52e6]
and edx, 0x7fff
push edx
call dword [0x482bc90]
add esp, 4
mov eax, dword [0x4822518]
mov dword [ebp - 0x52ec], eax
mov ecx, dword [ebp - 0x52ec]
mov dx, word [ecx + 0x5ba]
mov word [ebp - 0x52ee], dx
push 0
movzx eax, word [ebp - 0x52ee]
and eax, 0x8000
setne cl
movzx edx, cl
push edx
mov eax, dword [ebp - 0x24f8]
push eax
call dword [0x482bc98]
add esp, 0xc
mov ecx, dword [ebp - 0x24f8]
mov dword [ebp - 0x51bc], ecx
mov edx, dword [ebp - 0x51bc]
push edx
call fcn.10142e54
add esp, 4
mov eax, 0xe
shl eax, 2
mov ecx, dword [0x48205d4]
mov edx, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [edx + 0x64]
xor ebx, dword [ecx + eax]
and ebx, 0x20
neg ebx
sbb ebx, ebx
neg ebx
movzx eax, bl
test eax, eax
je 0x100c561a
movzx ecx, byte [ebp - 0x2b5]
test ecx, ecx
je 0x100c561a
mov edx, 5
shl edx, 2
mov eax, dword [0x48205d4]
mov ecx, dword [eax + edx]
xor ecx, 0xf88b6dc3
mov edx, 5
shl edx, 2
mov eax, dword [0x48205d4]
mov dword [edx + eax], ecx
push 0x47e91cc
call fcn.100e5500
add esp, 4
mov ecx, dword [0x48221c4]
mov dword [ebp - 0x52f4], ecx
mov edx, dword [ebp - 0x52f4]
add edx, 1
mov dword [0x48221c4], edx
mov eax, dword [0x4820634]
or eax, 0x20
mov dword [0x4820634], eax
mov ecx, dword [0x48221c8]
mov dword [ebp - 0x52f8], ecx
mov edx, dword [ebp - 0x52f8]
add edx, 1
mov dword [0x48221c8], edx
mov eax, dword [0x4820634]
or eax, 0x20
mov dword [0x4820634], eax
push 3
mov ecx, dword [0x47e553c]
push ecx
call fcn.100ccff0
add esp, 8
movzx edx, al
mov dword [ebp - 0x94], edx
cmp dword [ebp - 0x94], 0
je 0x100c56c2
mov eax, 5
shl eax, 2
mov ecx, dword [0x48205d4]
mov edx, dword [ecx + eax]
xor edx, 0x207d
mov eax, 5
shl eax, 2
mov ecx, dword [0x48205d4]
mov dword [eax + ecx], edx
push 0x47e91c4
call fcn.100e5500
add esp, 4
push 0
mov ecx, 0x481ff88
call fcn.1007d800
push 0
mov edx, dword [0x4822518]
push edx
call fcn.10063520
add esp, 8
call fcn.100dd350
mov dword [0x48293a4], eax
mov al, byte [0x48205a7]
mov byte [ebp - 0x52f9], al
movzx ecx, byte [ebp - 0x52f9]
test ecx, ecx
je 0x100c5785
cmp dword [0x48221a8], 0
jne 0x100c5722
call dword [0x47e5370]
mov dword [0x48221a8], eax
jmp 0x100c570c
mov edx, dword [0x4822518]
mov dword [ebp - 0x5300], edx
mov eax, dword [ebp - 0x5300]
mov cl, byte [eax + 0x57c]
mov byte [ebp - 0x5301], cl
mov edx, dword [0x4822518]
mov dword [ebp - 0x5308], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x2c]
push ecx
movzx edx, byte [ebp - 0x5301]
push edx
push 1
mov ecx, dword [ebp - 0x5308]
call fcn.10073830
push eax
push 0x481ff94
call fcn.1010c880
add esp, 0x10
mov eax, 2
jmp 0x100c855d
push 0x47e91bc
call fcn.100e5500
add esp, 4
mov dword [ebp - 0x26a8], 0
mov byte [ebp - 0x26a4], 0
lea eax, [ebp - 0x26b0]
push eax
push 0x471acc0
call dword [0x482bc8c]
add esp, 8
mov ecx, 0xe
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [eax + 0x64]
xor ebx, dword [edx + ecx]
and ebx, 0x20
neg ebx
sbb ebx, ebx
neg ebx
movzx ecx, bl
test ecx, ecx
je 0x100c5837
movsx edx, byte [ebp - 0x26a4]
test edx, edx
je 0x100c5837
mov eax, 0x1b
shl eax, 2
mov ecx, dword [0x48205d4]
mov edx, dword [ecx + eax]
xor edx, 0
mov dword [ebp - 0x5314], edx
mov eax, 5
shl eax, 2
mov ecx, dword [0x48205d4]
mov edx, dword [ecx + eax]
xor edx, dword [ebp - 0x5314]
mov eax, 5
shl eax, 2
mov ecx, dword [0x48205d4]
mov dword [eax + ecx], edx
push 0x47e91b4
call fcn.100e5500
add esp, 4
push 1
call fcn.100a6d50
add esp, 4
push 3
mov edx, dword [0x47e5144]
push edx
call fcn.100ccff0
add esp, 8
movzx eax, al
test eax, eax
je 0x100c58a8
mov ecx, 0x14
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [edx + ecx]
xor eax, 0
mov dword [ebp - 0x5318], eax
mov ecx, 5
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [edx + ecx]
xor eax, dword [ebp - 0x5318]
mov ecx, 5
shl ecx, 2
mov edx, dword [0x48205d4]
mov dword [ecx + edx], eax
mov eax, dword [0x48205f8]
mov dword [ebp - 0x26c0], eax
mov ecx, dword [ebp - 0x26c0]
mov edx, dword [ebp - 0x26c0]
add edx, dword [ecx + 0x3c]
mov dword [ebp - 0x264c], edx
mov eax, dword [0x48205f8]
mov dword [ebp - 0x531c], eax
mov ecx, dword [ebp - 0x531c]
mov dword [ebp - 0x2620], ecx
mov edx, dword [ebp - 0x264c]
mov eax, dword [edx + 0x50]
mov dword [ebp - 0x26a0], eax
mov dword [ebp - 0x2638], 0
mov dword [ebp - 0x261c], 0
call fcn.100da470
test eax, eax
je 0x100c5927
mov ecx, 0x10
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [edx + ecx]
xor eax, 0
mov dword [ebp - 0x54b0], eax
jmp 0x100c5931
mov dword [ebp - 0x54b0], 0
mov ecx, 3
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [edx + ecx]
xor eax, 0
xor eax, dword [ebp - 0x54b0]
mov dword [ebp - 0x2514], eax
mov ecx, 0x12
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [eax + 0x64]
xor ebx, dword [edx + ecx]
and ebx, 0x200000
neg ebx
sbb ebx, ebx
neg ebx
movzx ecx, bl
test ecx, ecx
je 0x100c5fb5
push 0x47e91ac
call fcn.100e5500
add esp, 4
mov edx, dword [0x48293a0]
mov eax, dword [edx]
mov dword [ebp - 0x261c], eax
mov ecx, dword [0x48293a0]
add ecx, 4
mov dword [0x48293a0], ecx
mov edx, dword [ebp - 0x261c]
add edx, 0x10000
mov dword [ebp - 0x2810], edx
mov dword [ebp - 0x280c], 0xa
push 0
call fcn.101447fe
add esp, 4
mov dword [ebp - 0x5320], eax
mov eax, dword [ebp - 0x5320]
mov dword [ebp - 0x26ec], eax
push 3
mov ecx, dword [0x47e5144]
push ecx
call fcn.100ccff0
add esp, 8
movzx edx, al
test edx, edx
je 0x100c5a24
mov eax, 0x1b
shl eax, 2
mov ecx, dword [0x48205d4]
mov edx, dword [ecx + eax]
xor edx, 0
xor edx, dword [ebp - 0x2514]
mov dword [ebp - 0x2514], edx
mov dword [ebp - 0x26e8], 0
cmp dword [ebp - 0x26e8], 0
jne 0x100c5b3b
mov eax, dword [ebp - 0x280c]
sub eax, 1
mov dword [ebp - 0x280c], eax
jns 0x100c5a74
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [edx], 0
push 0x47e919c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
call fcn.10142f20
add esp, 8
xor eax, eax
jmp 0x100c855d
cmp dword [ebp - 0x280c], 0
jle 0x100c5a94
lea ecx, [ebp - 0x26ec]
call fcn.100779f0
and eax, 0x3ff0000
mov dword [0x48293b4], eax
jmp 0x100c5aa7
cmp dword [ebp - 0x280c], 0
jne 0x100c5aa7
mov dword [0x48293b4], 0
push 0x40
push 0x2000
mov edx, dword [ebp - 0x2810]
push edx
mov eax, dword [0x48293b4]
push eax
call dword [0x47e5144]
mov dword [ebp - 0x26e8], eax
cmp dword [ebp - 0x26e8], 0
je 0x100c5b36
push 0x40
push 0x1000
mov ecx, dword [ebp - 0x2810]
push ecx
mov edx, dword [0x48293b4]
push edx
call dword [0x47e5144]
mov dword [ebp - 0x26e8], eax
cmp dword [ebp - 0x26e8], 0
je 0x100c5b36
mov eax, dword [ebp - 0x26e8]
mov dword [0x48293b4], eax
mov ecx, dword [ebp - 0x26e8]
cmp ecx, dword [ebp - 0x2620]
jbe 0x100c5b36
mov edx, dword [ebp - 0x2620]
add edx, dword [ebp - 0x26a0]
cmp dword [ebp - 0x26e8], edx
jae 0x100c5b36
mov eax, dword [ebp - 0x2810]
shr eax, 2
mov dword [ebp - 0x2810], eax
jmp 0x100c5a2e
call fcn.100da470
test eax, eax
je 0x100c5b52
mov ecx, dword [ebp - 0x2810]
shr ecx, 1
mov dword [ebp - 0x2810], ecx
mov edx, 1
test edx, edx
je 0x100c5be5
cmp dword [ebp - 0x261c], 0xffff
jae 0x100c5b77
mov dword [ebp - 0x54b4], 0xffff
jmp 0x100c5b83
mov eax, dword [ebp - 0x261c]
mov dword [ebp - 0x54b4], eax
mov ecx, dword [ebp - 0x54b4]
mov dword [ebp - 0x281c], ecx
push 0
mov edx, dword [ebp - 0x2514]
push edx
lea eax, [ebp - 0x281c]
push eax
mov ecx, dword [ebp - 0x26e8]
push ecx
mov edx, dword [0x48293a0]
push edx
call fcn.1008c400
add esp, 0x14
mov dword [0x48293a0], eax
cmp dword [0x48293a0], 0
je 0x100c5bcc
cmp dword [ebp - 0x281c], 0
jne 0x100c5bce
jmp 0x100c5be5
mov eax, dword [ebp - 0x26e8]
add eax, dword [ebp - 0x281c]
mov dword [ebp - 0x26e8], eax
jmp 0x100c5b52
cmp dword [0x48293a0], 0
jne 0x100c5c14
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [edx], 0
push 0x47e918c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
call fcn.10142f20
add esp, 8
xor eax, eax
jmp 0x100c855d
mov edx, 0xe
shl edx, 2
mov eax, dword [0x48205d4]
mov ecx, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [ecx + 0x64]
xor ebx, dword [eax + edx]
and ebx, 0x40
neg ebx
sbb ebx, ebx
neg ebx
movzx edx, bl
test edx, edx
je 0x100c5c68
push pe_nt_image_headers32
lea eax, [ebp - 0x27fc]
push eax
mov ecx, dword [0x481b118]
push ecx
call fcn.100e5540
add esp, 0xc
push eax
call dword [0x47e51c0]
call fcn.100da470
neg eax
sbb eax, eax
and eax, 2
add eax, 1
mov edx, dword [0x48293a0]
imul eax, dword [edx]
mov dword [ebp - 0x26f8], eax
mov eax, dword [0x48293a0]
add eax, 4
mov dword [0x48293a0], eax
mov ecx, dword [ebp - 0x26f8]
imul ecx, ecx, 3
lea edx, [ecx*4 + 0x10000]
mov dword [ebp - 0x2804], edx
cmp dword [ebp - 0x2804], 0xffff
jae 0x100c5cc1
mov dword [ebp - 0x54b8], 0xffff
jmp 0x100c5ccd
mov eax, dword [ebp - 0x2804]
mov dword [ebp - 0x54b8], eax
mov ecx, dword [ebp - 0x54b8]
push ecx
call fcn.1013c321
add esp, 4
mov dword [ebp - 0x51c0], eax
mov edx, dword [ebp - 0x51c0]
mov dword [ebp - 0x2814], edx
mov eax, dword [ebp - 0x2814]
mov dword [ebp - 0x2800], eax
mov ecx, 1
test ecx, ecx
je 0x100c5d8d
cmp dword [ebp - 0x2804], 0xffff
jae 0x100c5d1f
mov dword [ebp - 0x54bc], 0xffff
jmp 0x100c5d2b
mov edx, dword [ebp - 0x2804]
mov dword [ebp - 0x54bc], edx
mov eax, dword [ebp - 0x54bc]
mov dword [ebp - 0x2820], eax
push 0
mov ecx, dword [ebp - 0x2514]
push ecx
lea edx, [ebp - 0x2820]
push edx
mov eax, dword [ebp - 0x2800]
push eax
mov ecx, dword [0x48293a0]
push ecx
call fcn.1008c400
add esp, 0x14
mov dword [0x48293a0], eax
cmp dword [0x48293a0], 0
je 0x100c5d74
cmp dword [ebp - 0x2820], 0
jne 0x100c5d76
jmp 0x100c5d8d
mov edx, dword [ebp - 0x2800]
add edx, dword [ebp - 0x2820]
mov dword [ebp - 0x2800], edx
jmp 0x100c5cfa
cmp dword [0x48293a0], 0
jne 0x100c5dbc
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ecx], 0
push 0x47e917c
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
call fcn.10142f20
add esp, 8
xor eax, eax
jmp 0x100c855d
call dword [0x47e5370]
mov dword [ebp - 0x26f4], eax
mov ecx, dword [ebp - 0x2814]
mov dword [ebp - 0x26f0], ecx
mov esi, dword [ebp - 0x26f8]
imul esi, esi, 3
call fcn.100da470
neg eax
sbb eax, eax
and eax, 2
add eax, 1
imul esi, eax
mov edx, dword [ebp - 0x26f0]
lea eax, [edx + esi*4]
mov dword [ebp - 0x2818], eax
mov ecx, dword [ebp - 0x26f8]
lea eax, [ecx*4 + 4]
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1013c321
add esp, 4
mov dword [ebp - 0x51c4], eax
mov eax, dword [ebp - 0x51c4]
mov dword [ebp - 0x2638], eax
mov ecx, dword [ebp - 0x2638]
mov dword [ebp - 0x2808], ecx
mov edx, dword [ebp - 0x26f0]
cmp edx, dword [ebp - 0x2818]
jae 0x100c5f79
mov eax, dword [ebp - 0x26f0]
mov ecx, dword [eax]
mov dword [ebp - 0x2828], ecx
mov edx, dword [ebp - 0x26f0]
add edx, 4
mov dword [ebp - 0x26f0], edx
mov eax, dword [ebp - 0x26f0]
mov ecx, dword [eax]
mov dword [ebp - 0x282c], ecx
mov edx, dword [ebp - 0x26f0]
add edx, 4
mov dword [ebp - 0x26f0], edx
mov eax, dword [ebp - 0x26f0]
mov ecx, dword [eax]
mov dword [ebp - 0x2824], ecx
mov edx, dword [ebp - 0x26f0]
add edx, 4
mov dword [ebp - 0x26f0], edx
mov eax, dword [0x48293b4]
add eax, dword [ebp - 0x282c]
mov ecx, dword [ebp - 0x2828]
mov edx, dword [ebp - 0x2620]
lea ecx, [edx + ecx + 4]
sub eax, ecx
mov dword [ebp - 0x2830], eax
mov edx, dword [ebp - 0x2620]
add edx, dword [ebp - 0x2828]
mov eax, dword [ebp - 0x2808]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2808]
add ecx, 4
mov dword [ebp - 0x2808], ecx
mov edx, dword [ebp - 0x2808]
mov eax, dword [ebp - 0x2830]
mov dword [edx], eax
mov ecx, dword [ebp - 0x2808]
add ecx, 4
mov dword [ebp - 0x2808], ecx
mov edx, dword [ebp - 0x2828]
mov eax, dword [ebp - 0x2620]
lea ecx, [eax + edx + 4]
mov edx, dword [ebp - 0x2824]
mov eax, dword [0x48293b4]
lea edx, [eax + edx + 4]
sub ecx, edx
mov dword [ebp - 0x2830], ecx
mov eax, dword [0x48293b4]
add eax, dword [ebp - 0x2824]
mov ecx, dword [ebp - 0x2808]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2808]
add edx, 4
mov dword [ebp - 0x2808], edx
mov eax, dword [ebp - 0x2808]
mov ecx, dword [ebp - 0x2830]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2808]
add edx, 4
mov dword [ebp - 0x2808], edx
jmp 0x100c5e42
mov eax, dword [ebp - 0x2808]
mov dword [eax], 0
mov ecx, dword [ebp - 0x2808]
add ecx, 4
mov dword [ebp - 0x2808], ecx
call dword [0x47e5370]
mov edx, dword [ebp - 0x2814]
mov dword [ebp - 0x51c8], edx
mov eax, dword [ebp - 0x51c8]
push eax
call fcn.10142e54
add esp, 4
push 0x47e9174
call fcn.100e5500
add esp, 4
mov dword [ebp - 0x269c], 0x473ab30
mov dword [ebp - 0x2698], 0x473ab70
mov dword [ebp - 0x2694], 0x473ac60
mov dword [ebp - 0x2690], 0x473ac80
mov dword [ebp - 0x268c], 0x473aba0
mov dword [ebp - 0x2688], 0x473abb0
mov dword [ebp - 0x2684], 0x473abc0
mov dword [ebp - 0x2680], 0x473abd0
mov dword [ebp - 0x267c], 0x473ac10
mov dword [ebp - 0x2678], 0x473ac50
mov dword [ebp - 0x2674], 0x473ab30
mov dword [ebp - 0x2670], 0x473ab70
mov dword [ebp - 0x266c], 0x473ac60
mov dword [ebp - 0x2668], 0x473ac80
mov dword [ebp - 0x2664], 0x473abc0
mov dword [ebp - 0x2660], 0x473aba0
mov dword [ebp - 0x265c], 0x473abb0
mov dword [ebp - 0x2658], 0x473abd0
mov dword [ebp - 0x2654], 0x473ac10
mov dword [ebp - 0x2650], 0x473acf0
mov dword [ebp - 0x26b8], 0
mov dword [ebp - 0x2618], 0
mov dword [ebp - 0x26e4], 0
mov dword [ebp - 0x26e0], 0
mov ecx, 0x12
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [eax + 0x64]
xor ebx, dword [edx + ecx]
and ebx, 0x400000
neg ebx
sbb ebx, ebx
neg ebx
movzx ecx, bl
test ecx, ecx
je 0x100c63c0
push 0x47e916c
call fcn.100e5500
add esp, 4
mov edx, dword [0x48293a0]
mov eax, dword [edx]
mov dword [ebp - 0x2618], eax
mov ecx, dword [0x48293a0]
add ecx, 4
mov dword [0x48293a0], ecx
call fcn.100da470
mov ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 1
mov edx, dword [0x48293a0]
mov eax, dword [edx]
xor edx, edx
div ecx
mov dword [ebp - 0x26e4], eax
mov eax, dword [0x48293a0]
add eax, 4
mov dword [0x48293a0], eax
xor ecx, ecx
mov eax, dword [ebp - 0x26e4]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1013c321
add esp, 4
mov dword [ebp - 0x51cc], eax
mov eax, dword [ebp - 0x51cc]
mov dword [ebp - 0x26b8], eax
push 0x14
call fcn.10140c94
add esp, 4
mov dword [ebp - 0x51d4], eax
mov dword [ebp - 4], 3
cmp dword [ebp - 0x51d4], 0
je 0x100c61e8
mov ecx, dword [0x48296c8]
mov dword [ebp - 0x5334], ecx
mov edx, dword [ebp - 0x51d4]
mov eax, dword [ebp - 0x26b8]
mov dword [edx], eax
mov ecx, dword [ebp - 0x26e4]
shl ecx, 2
mov edx, dword [ebp - 0x51d4]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x51d4]
mov byte [eax + 0xc], 0
mov ecx, dword [ebp - 0x51d4]
mov edx, dword [ebp - 0x5334]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0x51d4]
mov dword [ebp - 0x54c0], eax
jmp 0x100c61f2
mov dword [ebp - 0x54c0], 0
mov ecx, dword [ebp - 0x54c0]
mov dword [ebp - 0x51d0], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x51d0]
mov dword [0x48296c8], edx
mov eax, dword [0x48296c8]
mov byte [eax + 0xc], 1
mov ecx, 3
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [edx + ecx]
xor eax, 0
mov dword [ebp - 0x5338], eax
mov ecx, dword [ebp - 0x5338]
mov dword [ebp - 0x2840], ecx
mov dword [ebp - 0x2844], 0
jmp 0x100c625b
mov edx, dword [ebp - 0x2844]
add edx, 1
mov dword [ebp - 0x2844], edx
mov eax, dword [ebp - 0x2844]
cmp eax, dword [ebp - 0x26e4]
jae 0x100c62a0
push 0x14
lea ecx, [ebp - 0x2840]
call fcn.100694d0
mov esi, eax
push pe_nt_image_headers32
lea ecx, [ebp - 0x2840]
call fcn.100694d0
add eax, dword [ebp + esi*4 - 0x269c]
mov ecx, dword [ebp - 0x2844]
mov edx, dword [ebp - 0x26b8]
mov dword [edx + ecx*4], eax
jmp 0x100c624c
mov eax, dword [0x48293a0]
mov ecx, dword [eax]
mov dword [ebp - 0x2838], ecx
mov edx, dword [0x48293a0]
add edx, 4
mov dword [0x48293a0], edx
mov eax, dword [ebp - 0x2838]
shl eax, 2
mov dword [ebp - 0x283c], eax
mov ecx, dword [ebp - 0x283c]
add ecx, 0x10000
push ecx
call fcn.1013c321
add esp, 4
mov dword [ebp - 0x51d8], eax
mov edx, dword [ebp - 0x51d8]
mov dword [ebp - 0x26e0], edx
mov eax, dword [ebp - 0x26e0]
mov dword [ebp - 0x2834], eax
mov ecx, 1
test ecx, ecx
je 0x100c6391
cmp dword [ebp - 0x283c], 0xffff
jae 0x100c6323
mov dword [ebp - 0x54c4], 0xffff
jmp 0x100c632f
mov edx, dword [ebp - 0x283c]
mov dword [ebp - 0x54c4], edx
mov eax, dword [ebp - 0x54c4]
mov dword [ebp - 0x2848], eax
push 0
mov ecx, dword [ebp - 0x2514]
push ecx
lea edx, [ebp - 0x2848]
push edx
mov eax, dword [ebp - 0x2834]
push eax
mov ecx, dword [0x48293a0]
push ecx
call fcn.1008c400
add esp, 0x14
mov dword [0x48293a0], eax
cmp dword [0x48293a0], 0
je 0x100c6378
cmp dword [ebp - 0x2848], 0
jne 0x100c637a
jmp 0x100c6391
mov edx, dword [ebp - 0x2834]
add edx, dword [ebp - 0x2848]
mov dword [ebp - 0x2834], edx
jmp 0x100c62fe
cmp dword [0x48293a0], 0
jne 0x100c63c0
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ecx], 0
push 0x47e915c
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
call fcn.10142f20
add esp, 8
xor eax, eax
jmp 0x100c855d
push 0x47e916c
call fcn.100e5500
add esp, 4
mov ecx, 0x12
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [eax + 0x64]
xor ebx, dword [edx + ecx]
and ebx, 0x200
neg ebx
sbb ebx, ebx
neg ebx
movzx ecx, bl
test ecx, ecx
je 0x100c650a
push 0x47e9154
call fcn.100e5500
add esp, 4
call fcn.100da470
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 3
add ecx, 1
mov edx, dword [0x48293a0]
mov eax, dword [edx]
xor edx, edx
div ecx
mov dword [0x48296c4], eax
mov eax, dword [0x48293a0]
add eax, 4
mov dword [0x48293a0], eax
mov ecx, dword [0x48296c4]
add ecx, 0x10000
push ecx
call fcn.1013c321
add esp, 4
mov dword [ebp - 0x51dc], eax
mov edx, dword [ebp - 0x51dc]
mov dword [0x48296c0], edx
mov eax, dword [0x48296c0]
mov dword [ebp - 0x284c], eax
mov ecx, 1
test ecx, ecx
je 0x100c650a
mov edx, dword [0x48296c4]
add edx, 0x10000
mov dword [ebp - 0x2850], edx
push 0
push 0
lea eax, [ebp - 0x2850]
push eax
mov ecx, dword [ebp - 0x284c]
push ecx
mov edx, dword [0x48293a0]
push edx
call fcn.1008c400
add esp, 0x14
mov dword [0x48293a0], eax
cmp dword [0x48293a0], 0
jne 0x100c64e8
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ecx], 0
push 0x47e9144
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
call fcn.10142f20
add esp, 8
xor eax, eax
jmp 0x100c855d
cmp dword [ebp - 0x2850], 0
jne 0x100c64f3
jmp 0x100c650a
mov ecx, dword [ebp - 0x284c]
add ecx, dword [ebp - 0x2850]
mov dword [ebp - 0x284c], ecx
jmp 0x100c6474
push 0x47e913c
call fcn.100e5500
add esp, 4
mov edx, dword [0x4822518]
mov dword [ebp - 0x535c], edx
mov eax, dword [ebp - 0x535c]
mov ecx, dword [eax + 0x598]
mov dword [ebp - 0x26bc], ecx
call fcn.100da470
test eax, eax
je 0x100c6559
mov edx, 0x14
shl edx, 2
mov eax, dword [0x48205d4]
mov ecx, dword [eax + edx]
xor ecx, 0
mov dword [ebp - 0x54c8], ecx
jmp 0x100c6569
mov ecx, 0x481ff88
call fcn.100c85f0
mov dword [ebp - 0x54c8], eax
mov edx, 5
shl edx, 2
mov eax, dword [0x48205d4]
mov ecx, dword [eax + edx]
xor ecx, 0
xor ecx, dword [ebp - 0x26bc]
xor ecx, dword [ebp - 0x54c8]
mov dword [ebp - 0x2634], ecx
mov edx, dword [0x4822518]
mov dword [ebp - 0x5360], edx
mov eax, dword [ebp - 0x5360]
mov ecx, dword [eax + 0x598]
mov dword [ebp - 0x5364], ecx
mov edx, dword [ebp - 0x5364]
push edx
push 0x47e7580
lea eax, [ebp - 0x2614]
push eax
call fcn.10143018
add esp, 0xc
lea ecx, [ebp - 0x2614]
push ecx
lea ecx, [ebp - 0x90]
call fcn.100837e0
mov dword [ebp - 4], 4
push 0x47597c0
push 0x20
lea edx, [ebp - 0x90]
push edx
call fcn.100e6670
add esp, 0xc
mov dword [ebp - 0x2640], eax
mov dword [ebp - 4], 5
push 0
push 1
lea ecx, [ebp - 0x90]
call fcn.100434f0
mov dword [ebp - 4], 0xffffffff
push 0x47e9134
call fcn.100e5500
add esp, 4
call fcn.100ccff0
mov ecx, 0x10
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [edx + ecx]
xor eax, 0
mov dword [ebp - 0x539c], eax
mov ecx, 0x15
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [edx + ecx]
xor eax, 0
xor eax, dword [ebp - 0x539c]
mov dword [ebp - 0x53a0], eax
mov ecx, dword [ebp - 0x53a0]
mov dword [0x48205c0], ecx
mov edx, 1
test edx, edx
je 0x100c6c30
mov eax, dword [0x48205c0]
mov dword [ebp - 0x53a4], eax
mov ecx, dword [0x48293a0]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x53a4]
mov dword [ebp - 0x2868], edx
mov eax, dword [0x48293a0]
add eax, 4
mov dword [0x48293a0], eax
cmp dword [ebp - 0x2868], 0
jne 0x100c66b8
jmp 0x100c6c30
mov ecx, dword [ebp - 0x2868]
and ecx, 0x80000000
je 0x100c66e4
mov edx, dword [ebp - 0x2868]
and edx, 0x7fffffff
mov eax, dword [ebp - 0x264c]
add edx, dword [eax + 0x88]
mov dword [ebp - 0x2868], edx
mov ecx, dword [0x48205c0]
mov dword [ebp - 0x53a8], ecx
mov edx, dword [0x48293a0]
mov eax, dword [edx]
xor eax, dword [ebp - 0x53a8]
mov dword [ebp - 0x2860], eax
mov ecx, dword [0x48293a0]
add ecx, 4
mov dword [0x48293a0], ecx
mov edx, dword [ebp - 0x2860]
add edx, 0x10000
push edx
call fcn.1013c321
add esp, 4
mov dword [ebp - 0x51e0], eax
mov eax, dword [ebp - 0x51e0]
mov dword [ebp - 0x2864], eax
mov ecx, dword [ebp - 0x2864]
mov dword [ebp - 0x2858], ecx
mov edx, dword [ebp - 0x2860]
add edx, 0x10000
push edx
push 0
mov eax, dword [ebp - 0x2864]
push eax
call fcn.10142860
add esp, 0xc
mov ecx, 1
test ecx, ecx
je 0x100c6804
mov edx, dword [ebp - 0x2860]
add edx, 0x10000
mov dword [ebp - 0x286c], edx
mov eax, dword [ebp - 0x2640]
push eax
mov ecx, dword [ebp - 0x2634]
push ecx
lea edx, [ebp - 0x286c]
push edx
mov eax, dword [ebp - 0x2858]
push eax
mov ecx, dword [0x48293a0]
push ecx
call fcn.1008c400
add esp, 0x14
mov dword [0x48293a0], eax
cmp dword [0x48293a0], 0
jne 0x100c67e2
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [eax], 0
push 0x47e9124
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
push edx
call fcn.10142f20
add esp, 8
xor eax, eax
jmp 0x100c855d
cmp dword [ebp - 0x286c], 0
jne 0x100c67ed
jmp 0x100c6804
mov eax, dword [ebp - 0x2858]
add eax, dword [ebp - 0x286c]
mov dword [ebp - 0x2858], eax
jmp 0x100c6764
mov ecx, dword [ebp - 0x2858]
sub ecx, dword [ebp - 0x2864]
mov dword [ebp - 0x285c], ecx
mov edx, dword [ebp - 0x285c]
cmp edx, dword [ebp - 0x2860]
jae 0x100c6842
mov eax, dword [ebp - 0x2860]
sub eax, dword [ebp - 0x285c]
push eax
push 0
mov ecx, dword [ebp - 0x2858]
push ecx
call fcn.10142860
add esp, 0xc
cmp dword [ebp - 0x2638], 0
je 0x100c69df
mov edx, dword [ebp - 0x2620]
add edx, dword [ebp - 0x2868]
mov eax, dword [ebp - 0x2638]
cmp dword [eax], edx
jb 0x100c69df
mov ecx, dword [ebp - 0x2620]
add ecx, dword [ebp - 0x2868]
add ecx, dword [ebp - 0x2860]
mov edx, dword [ebp - 0x2638]
cmp dword [edx], ecx
jae 0x100c69df
mov eax, 0x12
shl eax, 2
mov ecx, dword [0x48205d4]
mov edx, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [edx + 0x64]
xor ebx, dword [ecx + eax]
shr ebx, 0x18
mov byte [ebp - 0x2875], bl
movzx eax, byte [ebp - 0x2875]
shl eax, 0x18
movzx ecx, byte [ebp - 0x2875]
shl ecx, 0x10
or eax, ecx
movzx edx, byte [ebp - 0x2875]
shl edx, 8
or eax, edx
movzx ecx, byte [ebp - 0x2875]
or eax, ecx
mov dword [ebp - 0x2874], eax
mov edx, dword [ebp - 0x2638]
mov dword [ebp - 0x2870], edx
mov eax, dword [ebp - 0x2870]
cmp dword [eax], 0
je 0x100c69df
mov ecx, dword [ebp - 0x2870]
mov edx, dword [ecx]
mov dword [ebp - 0x287c], edx
mov eax, dword [ebp - 0x2870]
add eax, 4
mov dword [ebp - 0x2870], eax
mov ecx, dword [ebp - 0x2870]
mov edx, dword [ecx]
mov dword [ebp - 0x2880], edx
mov eax, dword [ebp - 0x2870]
add eax, 4
mov dword [ebp - 0x2870], eax
mov ecx, dword [ebp - 0x2620]
add ecx, dword [ebp - 0x2868]
cmp dword [ebp - 0x287c], ecx
jbe 0x100c69cc
mov edx, dword [ebp - 0x2620]
add edx, dword [ebp - 0x2868]
add edx, dword [ebp - 0x2860]
cmp dword [ebp - 0x287c], edx
jae 0x100c69cc
mov eax, dword [ebp - 0x2620]
add eax, dword [ebp - 0x2868]
mov ecx, dword [ebp - 0x287c]
sub ecx, eax
mov dword [ebp - 0x2884], ecx
mov dl, byte [0x48205ac]
mov byte [ebp - 0x53a9], dl
movzx eax, byte [ebp - 0x53a9]
test eax, eax
je 0x100c69b6
mov ecx, dword [ebp - 0x2880]
xor ecx, dword [ebp - 0x2874]
mov edx, dword [ebp - 0x2864]
add edx, dword [ebp - 0x2884]
mov dword [edx], ecx
jmp 0x100c69ca
mov eax, dword [ebp - 0x2864]
add eax, dword [ebp - 0x2884]
mov ecx, dword [ebp - 0x2880]
mov dword [eax], ecx
jmp 0x100c69da
mov edx, dword [ebp - 0x287c]
mov eax, dword [ebp - 0x2880]
mov dword [edx], eax
jmp 0x100c68f2
mov ecx, dword [ebp - 0x2868]
cmp ecx, dword [ebp - 0xa8]
jb 0x100c6b5b
mov edx, dword [ebp - 0x2868]
cmp edx, dword [ebp - 0xa0]
jae 0x100c6b5b
mov al, byte [0x48205ac]
mov byte [ebp - 0x53aa], al
movzx ecx, byte [ebp - 0x53aa]
test ecx, ecx
je 0x100c6b5b
call fcn.100da470
mov dword [ebp - 0x288c], eax
mov edx, dword [ebp - 0x2864]
mov dword [ebp - 0x2858], edx
mov dword [ebp - 0x2888], 0
mov eax, dword [ebp - 0x2864]
add eax, dword [ebp - 0x285c]
cmp dword [ebp - 0x2858], eax
jae 0x100c6b5b
mov ecx, dword [ebp - 0x2888]
and ecx, 0x80000007
jns 0x100c6a69
dec ecx
or ecx, 0xfffffff8
inc ecx
movzx edx, byte [ecx + 0x47e8b8c]
mov eax, dword [0x48205d4]
mov ecx, dword [eax + edx*4]
xor ecx, 0
mov dword [ebp - 0x53b0], ecx
mov edx, dword [ebp - 0x2888]
and edx, 0x80000007
jns 0x100c6a94
dec edx
or edx, 0xfffffff8
inc edx
movzx eax, byte [edx + 0x47e8b8d]
mov ecx, dword [0x48205d4]
mov edx, dword [ecx + eax*4]
xor edx, 0
mov dword [ebp - 0x53b4], edx
mov eax, dword [ebp - 0x2888]
and eax, 0x80000007
jns 0x100c6abf
dec eax
or eax, 0xfffffff8
inc eax
movzx ecx, byte [eax + 0x47e8b8e]
mov edx, dword [0x48205d4]
mov eax, dword [edx + ecx*4]
xor eax, 0
mov dword [ebp - 0x53b8], eax
push 0
mov esi, dword [ebp - 0x2888]
shl esi, 4
mov edi, dword [ebp - 0x53b0]
xor edi, dword [ebp - 0x53b4]
xor edi, dword [ebp - 0x53b8]
mov eax, dword [ebp - 0x2888]
cdq
mov ecx, 0x1c
idiv ecx
mov ecx, edx
shr edi, cl
and edi, 0xf
add esi, edi
mov ecx, 0x481ff88
call fcn.100c3e20
mov edx, dword [0x48293b0]
xor eax, dword [edx + esi*4]
xor eax, dword [ebp - 0x288c]
push eax
mov eax, dword [ebp - 0x2858]
push eax
call fcn.100ca670
add esp, 0xc
mov ecx, dword [ebp - 0x2888]
add ecx, 1
mov dword [ebp - 0x2888], ecx
mov edx, dword [ebp - 0x2858]
add edx, 0x1000
mov dword [ebp - 0x2858], edx
jmp 0x100c6a3e
mov eax, dword [ebp - 0x2868]
and eax, 0xfff
jne 0x100c6b98
mov ecx, dword [ebp - 0x2860]
and ecx, 0xfff
je 0x100c6b98
mov eax, dword [ebp - 0x2860]
xor edx, edx
mov ecx, 0x1000
div ecx
mov eax, 0x1000
sub eax, edx
add eax, dword [ebp - 0x2860]
mov dword [ebp - 0x2860], eax
mov dword [ebp - 0x2854], 4
lea ecx, [ebp - 0x2854]
push ecx
push 4
mov edx, dword [ebp - 0x2860]
push edx
mov eax, dword [ebp - 0x2620]
add eax, dword [ebp - 0x2868]
push eax
call dword [0x47e50e4]
mov ecx, dword [ebp - 0x2860]
push ecx
mov edx, dword [ebp - 0x2864]
push edx
mov eax, dword [ebp - 0x2620]
add eax, dword [ebp - 0x2868]
push eax
call fcn.10140ed0
add esp, 0xc
lea ecx, [ebp - 0x2854]
push ecx
mov edx, dword [ebp - 0x2854]
push edx
mov eax, dword [ebp - 0x2860]
push eax
mov ecx, dword [ebp - 0x2620]
add ecx, dword [ebp - 0x2868]
push ecx
call dword [0x47e50e4]
mov edx, dword [ebp - 0x2864]
mov dword [ebp - 0x51e4], edx
mov eax, dword [ebp - 0x51e4]
push eax
call fcn.10142e54
add esp, 4
jmp 0x100c6671
mov dword [0x48205c0], 0
cmp dword [ebp - 0x261c], 0
je 0x100c6c7a
lea ecx, [ebp - 0x2890]
push ecx
push 0x20
mov edx, dword [ebp - 0x261c]
push edx
mov eax, dword [0x48293b4]
push eax
call dword [0x47e50e4]
mov ecx, dword [ebp - 0x2638]
mov dword [ebp - 0x51e8], ecx
mov edx, dword [ebp - 0x51e8]
push edx
call fcn.10142e54
add esp, 4
mov dword [ebp - 0x26d4], 0
lea eax, [ebp - 0x26dc]
push eax
push 0x471ad10
call dword [0x482bc8c]
add esp, 8
mov ecx, 0x12
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [eax + 0x64]
xor ebx, dword [edx + ecx]
and ebx, 0x80
neg ebx
sbb ebx, ebx
neg ebx
movzx ecx, bl
test ecx, ecx
je 0x100c6d26
mov edx, 0x12
shl edx, 2
mov eax, dword [0x48205d4]
mov ecx, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [ecx + 0x64]
xor ebx, dword [eax + edx]
and ebx, 0x10
neg ebx
sbb ebx, ebx
neg ebx
movzx edx, bl
test edx, edx
je 0x100c6d26
mov dword [ebp - 0x292c], 0x94
lea eax, [ebp - 0x292c]
push eax
call dword [0x47e50bc]
cmp dword [ebp - 0x291c], 2
je 0x100c6d26
cli
not esp
not esp
sti
push 0x47e911c
call fcn.100e5500
add esp, 4
mov ecx, dword [0x48293a0]
mov edx, dword [ecx]
mov dword [ebp - 0x2630], edx
mov eax, dword [0x48293a0]
add eax, 4
mov dword [0x48293a0], eax
call fcn.100da470
test eax, eax
je 0x100c6d67
mov ecx, dword [ebp - 0x2630]
shr ecx, 1
mov dword [ebp - 0x54cc], ecx
jmp 0x100c6d79
mov edx, dword [ebp - 0x2630]
add edx, 0x10000
mov dword [ebp - 0x54cc], edx
mov eax, dword [ebp - 0x54cc]
push eax
call fcn.1013c321
add esp, 4
mov dword [ebp - 0x51ec], eax
mov ecx, dword [ebp - 0x51ec]
mov dword [ebp - 0x250c], ecx
mov edx, 9
shl edx, 2
mov eax, dword [0x48205d4]
mov ecx, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov edi, dword [0x48205d4]
mov edi, dword [edi + 0x40]
xor edi, dword [esi + 0x6c]
xor edi, dword [ecx + 0x54]
xor edi, dword [eax + edx]
mov dword [ebp - 0x2648], edi
push 0x47e9114
call fcn.100e5500
add esp, 4
mov ecx, 0x481ff88
call fcn.100c8580
mov esi, eax
xor esi, dword [ebp - 0x2648]
call fcn.100da470
xor esi, eax
mov dword [ebp - 0x26d0], esi
push 0x47e910c
call fcn.100e5500
add esp, 4
mov edx, dword [ebp - 0x250c]
mov dword [ebp - 0x2508], edx
mov eax, 1
test eax, eax
je 0x100c6ec5
mov ecx, dword [ebp - 0x2630]
add ecx, 0x10000
mov dword [ebp - 0x2930], ecx
push 0x47e9104
call fcn.100e5500
add esp, 4
push 0
mov edx, dword [ebp - 0x26d0]
push edx
lea eax, [ebp - 0x2930]
push eax
mov ecx, dword [ebp - 0x2508]
push ecx
mov edx, dword [0x48293a0]
push edx
call fcn.1008c400
add esp, 0x14
mov dword [0x48293a0], eax
push 0x47e90fc
call fcn.100e5500
add esp, 4
cmp dword [0x48293a0], 0
jne 0x100c6ea3
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ecx], 0
push 0x47e90ec
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
call fcn.10142f20
add esp, 8
xor eax, eax
jmp 0x100c855d
cmp dword [ebp - 0x2930], 0
jne 0x100c6eae
jmp 0x100c6ec5
mov ecx, dword [ebp - 0x2508]
add ecx, dword [ebp - 0x2930]
mov dword [ebp - 0x2508], ecx
jmp 0x100c6e10
push 0x47e90e4
call fcn.100e5500
add esp, 4
push 0x47e90dc
call fcn.100e5500
add esp, 4
push 0x47e90d4
call fcn.100e5500
add esp, 4
mov byte [ebp - 0x26c9], 0
mov edx, 1
shl edx, 2
mov eax, dword [0x48205d4]
mov ecx, dword [eax + edx]
xor ecx, 0
mov dword [ebp - 0x53bc], ecx
mov edx, dword [ebp - 0x53bc]
mov dword [ebp - 0x263c], edx
mov eax, 0x1b
shl eax, 2
mov ecx, dword [0x48205d4]
mov edx, dword [ecx + eax]
xor edx, 0
imul edx, edx, 0xa
add edx, 1
mov dword [ebp - 0x53c0], edx
mov eax, dword [ebp - 0x53c0]
mov dword [ebp - 0x26c8], eax
mov ecx, dword [ebp - 0x250c]
mov dword [ebp - 0x2508], ecx
mov dword [ebp - 0x2510], 0
mov dword [ebp - 0x2644], 0
mov dword [ebp - 0x262c], 0xffffffff
mov edx, 1
test edx, edx
je 0x100c7960
mov eax, dword [ebp - 0x2508]
mov dword [ebp - 0x2a58], eax
push 0
mov ecx, dword [ebp - 0x2508]
push ecx
call fcn.10143810
add esp, 8
add eax, 1
mov dword [ebp - 0x2508], eax
mov edx, dword [ebp - 0x2a58]
movsx eax, byte [edx]
test eax, eax
jne 0x100c6fb3
jmp 0x100c7960
mov ecx, dword [ebp - 0x2508]
mov edx, dword [ecx]
mov dword [ebp - 0x2a5c], edx
mov eax, dword [ebp - 0x2508]
add eax, 4
mov dword [ebp - 0x2508], eax
mov ecx, dword [ebp - 0x2508]
mov edx, dword [ecx]
mov dword [ebp - 0x293c], edx
mov eax, dword [ebp - 0x2508]
add eax, 4
mov dword [ebp - 0x2508], eax
mov cl, byte [0x47e5fc1]
mov byte [ebp - 0x2a54], cl
push 0x103
push 0
lea edx, [ebp - 0x2a53]
push edx
call fcn.10142860
add esp, 0xc
mov eax, 0xe
shl eax, 2
mov ecx, dword [0x48205d4]
mov edx, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [edx + 0x64]
xor ebx, dword [ecx + eax]
and ebx, 0x80
neg ebx
sbb ebx, ebx
neg ebx
movzx eax, bl
test eax, eax
je 0x100c7072
push 0x47e8398
mov ecx, dword [ebp - 0x2a58]
push ecx
call fcn.10151fb0
add esp, 8
test eax, eax
jne 0x100c7072
mov edx, dword [ebp - 0x2a58]
push edx
call dword [0x47e5320]
mov dword [ebp - 0x2948], eax
jmp 0x100c7084
mov eax, dword [ebp - 0x2a58]
push eax
call fcn.100a90f0
mov dword [ebp - 0x2948], eax
cmp dword [ebp - 0x2948], 0
jne 0x100c7137
cmp dword [ebp - 0x2948], 0
jne 0x100c70fa
push 1
lea ecx, [ebp - 0x2b64]
push ecx
call fcn.100bb7e0
add esp, 8
push 0x5c
lea edx, [ebp - 0x2b64]
push edx
call fcn.10143b70
add esp, 8
mov dword [ebp - 0x2b68], eax
cmp dword [ebp - 0x2b68], 0
je 0x100c70fa
mov eax, dword [ebp - 0x2a58]
push eax
mov ecx, dword [ebp - 0x2b68]
add ecx, 1
push ecx
call fcn.10142f20
add esp, 8
push 8
push 0
lea edx, [ebp - 0x2b64]
push edx
call fcn.100a9540
mov dword [ebp - 0x2948], eax
cmp dword [ebp - 0x2948], 0
jne 0x100c7137
push 1
lea eax, [ebp - 0x2b64]
push eax
call fcn.100bb7e0
add esp, 8
lea ecx, [ebp - 0x2b64]
push ecx
lea edx, [ebp - 0x2a54]
push edx
mov eax, dword [ebp - 0x2a58]
push eax
call fcn.100a8b40
add esp, 0xc
mov dword [ebp - 0x2948], eax
cmp dword [ebp - 0x2948], 0
jne 0x100c7199
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [edx], 3
movsx eax, byte [ebp - 0x2a54]
test eax, eax
je 0x100c7164
lea ecx, [ebp - 0x2a54]
mov dword [ebp - 0x54d0], ecx
jmp 0x100c7170
mov edx, dword [ebp - 0x2a58]
mov dword [ebp - 0x54d0], edx
call dword [0x47e5384]
push eax
mov eax, dword [ebp - 0x54d0]
push eax
push 0x47e90c0
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
push edx
call fcn.10143018
add esp, 0x10
xor eax, eax
jmp 0x100c855d
mov eax, dword [ebp - 0x2948]
push eax
call fcn.100a6c70
add esp, 4
mov dword [ebp - 0x294c], 0
mov ecx, dword [0x48205f8]
mov dword [ebp - 0x53c4], ecx
mov edx, dword [ebp - 0x2948]
cmp edx, dword [ebp - 0x53c4]
jne 0x100c71db
mov dword [ebp - 0x294c], 0x4819f90
jmp 0x100c72b3
mov dword [ebp - 0x2b6c], 0
mov dword [ebp - 0x2b70], 0x481a284
jmp 0x100c720f
mov eax, dword [ebp - 0x2b70]
add eax, 0xc
mov dword [ebp - 0x2b70], eax
mov ecx, dword [ebp - 0x2b6c]
add ecx, 1
mov dword [ebp - 0x2b6c], ecx
mov edx, dword [ebp - 0x2b70]
cmp dword [edx], 0
je 0x100c72b3
mov eax, dword [ebp - 0x2b70]
mov ecx, dword [eax + 8]
and ecx, 1
je 0x100c7263
mov edx, 0x12
shl edx, 2
mov eax, dword [0x48205d4]
mov ecx, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [ecx + 0x64]
xor ebx, dword [eax + edx]
and ebx, 0x80
neg ebx
sbb ebx, ebx
neg ebx
movzx edx, bl
test edx, edx
je 0x100c7263
jmp 0x100c71f1
mov eax, dword [0x48205d4]
mov ecx, dword [0x48205d4]
mov edx, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov esi, dword [esi + 0x40]
xor esi, dword [edx + 0x64]
xor esi, dword [ecx + 0x2c]
xor esi, dword [eax + 4]
mov eax, dword [ebp - 0x2b6c]
mov ecx, dword [0x48237cc]
xor esi, dword [ecx + eax*4]
cmp dword [ebp - 0x2948], esi
jne 0x100c72ae
mov edx, dword [ebp - 0x2b70]
mov eax, dword [edx + 4]
mov dword [ebp - 0x294c], eax
jmp 0x100c72b3
jmp 0x100c71f1
mov byte [ebp - 0x293d], 0
cmp dword [ebp - 0x26b8], 0
jne 0x100c72fd
mov cl, byte [0x48205ac]
mov byte [ebp - 0x53c5], cl
movzx edx, byte [ebp - 0x53c5]
test edx, edx
je 0x100c72fd
mov eax, dword [ebp - 0x2a5c]
cmp eax, dword [ebp - 0xa8]
jb 0x100c72fd
mov ecx, dword [ebp - 0x2a5c]
cmp ecx, dword [ebp - 0xa0]
jae 0x100c72fd
mov byte [ebp - 0x293d], 1
mov edx, dword [ebp - 0x293c]
add edx, 1
mov dword [ebp - 0x293c], edx
cmp dword [ebp - 0x26b8], 0
je 0x100c7362
mov eax, dword [ebp - 0x2a5c]
sub eax, dword [ebp - 0x2618]
shr eax, 2
mov dword [ebp - 0x2b74], eax
mov ecx, dword [ebp - 0x2b74]
mov edx, dword [ebp - 0x26b8]
lea eax, [edx + ecx*4]
mov dword [ebp - 0x2644], eax
mov ecx, dword [ebp - 0x2644]
mov dword [ebp - 0x2510], ecx
mov edx, dword [ebp - 0x26e4]
mov eax, dword [ebp - 0x26b8]
lea ecx, [eax + edx*4]
mov dword [ebp - 0x262c], ecx
jmp 0x100c73ca
movzx edx, byte [ebp - 0x293d]
test edx, edx
je 0x100c73ac
xor ecx, ecx
mov eax, dword [ebp - 0x293c]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.1013c321
add esp, 4
mov dword [ebp - 0x51f0], eax
mov eax, dword [ebp - 0x51f0]
mov dword [ebp - 0x2644], eax
mov ecx, dword [ebp - 0x2644]
mov dword [ebp - 0x2510], ecx
jmp 0x100c73ca
mov edx, dword [ebp - 0x2620]
add edx, dword [ebp - 0x2a5c]
mov dword [ebp - 0x2510], edx
mov eax, dword [ebp - 0x2510]
mov dword [ebp - 0x2644], eax
cmp dword [ebp - 0x26b8], 0
jne 0x100c74ad
lea ecx, [ebp - 0x2938]
push ecx
push 4
mov edx, dword [ebp - 0x293c]
shl edx, 2
push edx
mov eax, dword [ebp - 0x2620]
add eax, dword [ebp - 0x2a5c]
push eax
call dword [0x47e50e4]
push 0x14
call fcn.10140c94
add esp, 4
mov dword [ebp - 0x51f8], eax
mov dword [ebp - 4], 6
cmp dword [ebp - 0x51f8], 0
je 0x100c7476
mov ecx, dword [0x48296c8]
mov dword [ebp - 0x53cc], ecx
mov edx, dword [ebp - 0x2620]
add edx, dword [ebp - 0x2a5c]
mov eax, dword [ebp - 0x51f8]
mov dword [eax], edx
mov ecx, dword [ebp - 0x293c]
shl ecx, 2
mov edx, dword [ebp - 0x51f8]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x51f8]
mov byte [eax + 0xc], 0
mov ecx, dword [ebp - 0x51f8]
mov edx, dword [ebp - 0x53cc]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0x51f8]
mov dword [ebp - 0x54d4], eax
jmp 0x100c7480
mov dword [ebp - 0x54d4], 0
mov ecx, dword [ebp - 0x54d4]
mov dword [ebp - 0x51f4], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x51f4]
mov dword [0x48296c8], edx
mov eax, dword [0x48296c8]
mov ecx, dword [ebp - 0x2938]
mov dword [eax + 8], ecx
mov dword [ebp - 0x2934], 0
call dword [0x47e5370]
mov dword [ebp - 0x2944], eax
mov edx, 1
test edx, edx
je 0x100c7896
mov eax, dword [ebp - 0x2508]
mov cx, word [eax]
mov word [ebp - 0x2b78], cx
mov edx, dword [ebp - 0x2508]
add edx, 2
mov dword [ebp - 0x2508], edx
movzx eax, word [ebp - 0x2b78]
push eax
mov ecx, dword [ebp - 0x2508]
push ecx
lea edx, [ebp - 0x337c]
push edx
call fcn.10140ed0
add esp, 0xc
movzx eax, word [ebp - 0x2b78]
add eax, dword [ebp - 0x2508]
mov dword [ebp - 0x2508], eax
xor ecx, ecx
mov word [ebp - 0x3b88], cx
mov dl, byte [0x47e5fc1]
mov byte [ebp - 0x3b84], dl
push 0x7ff
push 0
lea eax, [ebp - 0x3b83]
push eax
call fcn.10142860
add esp, 0xc
movzx ecx, word [ebp - 0x2b78]
test ecx, ecx
je 0x100c75c7
lea ecx, [ebp - 0x26c8]
call fcn.100779f0
mov dword [ebp - 0x3b8c], eax
push 0
movzx edx, word [ebp - 0x2b78]
push edx
lea eax, [ebp - 0x337c]
push eax
mov ecx, dword [ebp - 0x3b8c]
push ecx
call fcn.100e5240
add esp, 0x10
movzx edx, byte [ebp - 0x337c]
cmp edx, 0xff
jne 0x100c75a6
mov ax, word [ebp - 0x337b]
mov word [ebp - 0x3b88], ax
jmp 0x100c75c7
movsx ecx, byte [ebp - 0x337c]
test ecx, ecx
je 0x100c75c7
lea edx, [ebp - 0x337c]
push edx
lea eax, [ebp - 0x3b84]
push eax
call fcn.10142f20
add esp, 8
mov dword [ebp - 0x3380], 0
movzx ecx, word [ebp - 0x3b88]
test ecx, ecx
je 0x100c764a
cmp dword [ebp - 0x294c], 0
je 0x100c7636
mov edx, dword [ebp - 0x294c]
mov dword [ebp - 0x3b90], edx
jmp 0x100c7602
mov eax, dword [ebp - 0x3b90]
add eax, 0xc
mov dword [ebp - 0x3b90], eax
mov ecx, dword [ebp - 0x3b90]
cmp dword [ecx + 8], 0
je 0x100c7636
movzx edx, word [ebp - 0x3b88]
mov eax, dword [ebp - 0x3b90]
movzx ecx, word [eax + 4]
cmp edx, ecx
jne 0x100c7634
mov edx, dword [ebp - 0x3b90]
mov eax, dword [edx + 8]
mov dword [ebp - 0x3380], eax
jmp 0x100c7636
jmp 0x100c75f3
mov ecx, dword [ebp - 0x2934]
add ecx, 1
mov dword [ebp - 0x2934], ecx
jmp 0x100c7724
movsx edx, byte [ebp - 0x3b84]
test edx, edx
je 0x100c76e6
cmp dword [ebp - 0x294c], 0
je 0x100c76d5
mov eax, dword [ebp - 0x294c]
mov dword [ebp - 0x3b94], eax
jmp 0x100c767f
mov ecx, dword [ebp - 0x3b94]
add ecx, 0xc
mov dword [ebp - 0x3b94], ecx
mov edx, dword [ebp - 0x3b94]
cmp dword [edx + 8], 0
je 0x100c76d5
push pe_nt_image_headers32
lea eax, [ebp - 0x3c94]
push eax
mov ecx, dword [ebp - 0x3b94]
mov edx, dword [ecx]
push edx
call fcn.100e5540
add esp, 0xc
lea eax, [ebp - 0x3c94]
push eax
lea ecx, [ebp - 0x3b84]
push ecx
call fcn.10151fb0
add esp, 8
test eax, eax
jne 0x100c76d3
mov edx, dword [ebp - 0x3b94]
mov eax, dword [edx + 8]
mov dword [ebp - 0x3380], eax
jmp 0x100c76d5
jmp 0x100c7670
mov ecx, dword [ebp - 0x2934]
add ecx, 1
mov dword [ebp - 0x2934], ecx
jmp 0x100c7724
push pe_nt_image_headers32
lea ecx, [ebp - 0x263c]
call fcn.100694d0
movzx eax, al
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x2644]
mov ecx, dword [ebp + edx*4 - 0x269c]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2644]
add edx, 4
mov dword [ebp - 0x2644], edx
jmp 0x100c7896
cmp dword [ebp - 0x3380], 0
jne 0x100c7771
movzx eax, word [ebp - 0x3b88]
test eax, eax
je 0x100c7747
movzx ecx, word [ebp - 0x3b88]
mov dword [ebp - 0x54d8], ecx
jmp 0x100c7753
lea edx, [ebp - 0x3b84]
mov dword [ebp - 0x54d8], edx
push 1
mov eax, dword [ebp - 0x54d8]
push eax
mov ecx, dword [ebp - 0x2948]
push ecx
call fcn.100a7ba0
add esp, 0xc
mov dword [ebp - 0x3380], eax
cmp dword [ebp - 0x3380], 0
jne 0x100c77be
movzx edx, word [ebp - 0x3b88]
test edx, edx
je 0x100c7794
movzx eax, word [ebp - 0x3b88]
mov dword [ebp - 0x54dc], eax
jmp 0x100c77a0
lea ecx, [ebp - 0x3b84]
mov dword [ebp - 0x54dc], ecx
push 0
mov edx, dword [ebp - 0x54dc]
push edx
mov eax, dword [ebp - 0x2948]
push eax
call fcn.100a7ba0
add esp, 0xc
mov dword [ebp - 0x3380], eax
cmp dword [ebp - 0x3380], 0
jne 0x100c7866
movzx ecx, word [ebp - 0x3b88]
test ecx, ecx
je 0x100c782b
call dword [0x47e5384]
cmp eax, 0x32
jne 0x100c77ed
mov dword [ebp - 0x3380], 0x46f7b90
jmp 0x100c7829
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [eax], 3
call dword [0x47e5384]
push eax
movzx ecx, word [ebp - 0x3b88]
push ecx
mov edx, dword [ebp - 0x2a58]
push edx
push 0x47e909c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
call fcn.10143018
add esp, 0x14
xor eax, eax
jmp 0x100c855d
jmp 0x100c7866
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [eax], 3
call dword [0x47e5384]
push eax
lea ecx, [ebp - 0x3b84]
push ecx
mov edx, dword [ebp - 0x2a58]
push edx
push 0x47e9078
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
call fcn.10143018
add esp, 0x14
xor eax, eax
jmp 0x100c855d
mov edx, dword [ebp - 0x2644]
cmp edx, dword [ebp - 0x262c]
jae 0x100c7891
mov eax, dword [ebp - 0x2644]
mov ecx, dword [ebp - 0x3380]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2644]
add edx, 4
mov dword [ebp - 0x2644], edx
jmp 0x100c74c3
call dword [0x47e5370]
sub eax, dword [ebp - 0x2944]
mov ecx, dword [ebp - 0x2934]
imul ecx, ecx, 0x32
add ecx, 0x7d0
cmp eax, ecx
jbe 0x100c78bc
mov byte [ebp - 0x26c9], 1
cmp dword [ebp - 0x26b8], 0
jne 0x100c795b
movzx edx, byte [ebp - 0x293d]
test edx, edx
je 0x100c795b
push 0
mov eax, dword [ebp - 0x293c]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x2620]
add ecx, dword [ebp - 0x2a5c]
push ecx
call fcn.100ca6f0
add esp, 0xc
mov edx, dword [ebp - 0x293c]
shl edx, 2
push edx
mov eax, dword [ebp - 0x2510]
push eax
mov ecx, dword [ebp - 0x2620]
add ecx, dword [ebp - 0x2a5c]
push ecx
call fcn.10140ed0
add esp, 0xc
push 1
mov edx, dword [ebp - 0x293c]
shl edx, 2
push edx
mov eax, dword [ebp - 0x2620]
add eax, dword [ebp - 0x2a5c]
push eax
call fcn.100ca6f0
add esp, 0xc
mov ecx, dword [ebp - 0x2510]
mov dword [ebp - 0x51fc], ecx
mov edx, dword [ebp - 0x51fc]
push edx
call fcn.10142e54
add esp, 4
jmp 0x100c6f6e
mov eax, dword [ebp - 0x250c]
mov dword [ebp - 0x5200], eax
mov ecx, dword [ebp - 0x5200]
push ecx
call fcn.10142e54
add esp, 4
cmp dword [ebp - 0x26b8], 0
je 0x100c7a7b
mov edx, 2
shl edx, 2
mov eax, dword [0x48205d4]
mov ecx, dword [eax + edx]
xor ecx, 0
mov dword [ebp - 0x5430], ecx
mov edx, dword [ebp - 0x5430]
mov dword [ebp - 0x3c9c], edx
movzx esi, byte [ebp - 0x26c9]
neg esi
sbb esi, esi
and esi, 0x100
add esi, 0x200
call fcn.100da470
neg eax
sbb eax, eax
and eax, 0x100
add eax, 0x100
push eax
lea ecx, [ebp - 0x3c9c]
call fcn.100694d0
add esi, eax
mov dword [ebp - 0x3c98], esi
mov dword [ebp - 0x3ca0], 0
jmp 0x100c7a06
mov eax, dword [ebp - 0x3ca0]
add eax, 1
mov dword [ebp - 0x3ca0], eax
mov ecx, dword [ebp - 0x3ca0]
cmp ecx, dword [ebp - 0x3c98]
jae 0x100c7a7b
mov edx, dword [ebp - 0x26e4]
push edx
lea ecx, [ebp - 0x3c9c]
call fcn.100694d0
mov dword [ebp - 0x3ca4], eax
mov eax, dword [ebp - 0x26b8]
mov ecx, dword [eax]
mov dword [ebp - 0x3ca8], ecx
mov edx, dword [ebp - 0x3ca4]
lea eax, [edx*4 + 4]
push eax
mov ecx, dword [ebp - 0x26b8]
add ecx, 4
push ecx
mov edx, dword [ebp - 0x26b8]
push edx
call fcn.101428e0
add esp, 0xc
mov eax, dword [ebp - 0x3ca4]
mov ecx, dword [ebp - 0x26b8]
mov edx, dword [ebp - 0x3ca8]
mov dword [ecx + eax*4], edx
jmp 0x100c79f7
mov eax, dword [ebp - 0x2640]
push eax
call fcn.100e6bb0
add esp, 4
push 0x47e9070
call fcn.100e5500
add esp, 4
mov ecx, dword [0x4822518]
mov dword [ebp - 0x5454], ecx
mov edx, dword [ebp - 0x5454]
mov eax, dword [edx + 0x548]
mov dword [ebp - 0x2628], eax
mov dword [ebp - 0x3cac], 0
jmp 0x100c7ad0
mov ecx, dword [ebp - 0x3cac]
add ecx, 1
mov dword [ebp - 0x3cac], ecx
mov edx, dword [0x4822518]
mov dword [ebp - 0x5458], edx
mov eax, dword [ebp - 0x5458]
mov cx, word [eax + 0x544]
mov word [ebp - 0x545a], cx
movzx edx, word [ebp - 0x545a]
cmp dword [ebp - 0x3cac], edx
jge 0x100c7d05
mov eax, dword [ebp - 0x2628]
mov ecx, dword [eax]
mov dword [ebp - 0x3cb0], ecx
mov edx, dword [ebp - 0x2628]
add edx, 4
mov dword [ebp - 0x2628], edx
mov eax, dword [ebp - 0x2628]
mov ecx, dword [eax]
mov dword [ebp - 0x3cb4], ecx
mov edx, dword [ebp - 0x2628]
add edx, 4
mov dword [ebp - 0x2628], edx
mov eax, dword [0x48293a0]
mov cx, word [eax]
mov word [ebp - 0x3cb8], cx
mov edx, dword [0x48293a0]
add edx, 2
mov dword [0x48293a0], edx
movzx eax, word [ebp - 0x3cb8]
push eax
mov ecx, dword [0x48293a0]
push ecx
lea edx, [ebp - 0x4cbc]
push edx
call fcn.10140ed0
add esp, 0xc
movzx eax, word [ebp - 0x3cb8]
add eax, dword [0x48293a0]
mov dword [0x48293a0], eax
cmp dword [ebp - 0x3cb0], 0
je 0x100c7d00
mov ecx, dword [ebp - 0x3cb4]
mov dword [ebp - 0x4cc4], ecx
lea edx, [ebp - 0x4cbc]
mov dword [ebp - 0x4cc8], edx
movzx eax, word [ebp - 0x3cb8]
add eax, dword [ebp - 0x4cc8]
mov dword [ebp - 0x4ccc], eax
jmp 0x100c7bd4
mov ecx, dword [ebp - 0x4cc8]
add ecx, 1
mov dword [ebp - 0x4cc8], ecx
mov edx, dword [ebp - 0x4cc8]
cmp edx, dword [ebp - 0x4ccc]
jae 0x100c7c14
push pe_nt_image_headers32
lea ecx, [ebp - 0x4cc4]
call fcn.100694d0
mov byte [ebp - 0x546d], al
movzx eax, byte [ebp - 0x546d]
mov ecx, dword [ebp - 0x4cc8]
movzx edx, byte [ecx]
xor edx, eax
mov eax, dword [ebp - 0x4cc8]
mov byte [eax], dl
jmp 0x100c7bc5
lea ecx, [ebp - 0x4cc0]
push ecx
push 4
movzx edx, word [ebp - 0x3cb8]
push edx
mov eax, dword [ebp - 0x2620]
add eax, dword [ebp - 0x3cb0]
push eax
call dword [0x47e50e4]
mov cl, byte [0x48205ac]
mov byte [ebp - 0x546e], cl
movzx edx, byte [ebp - 0x546e]
test edx, edx
je 0x100c7cb3
push 0
movzx eax, word [ebp - 0x3cb8]
push eax
mov ecx, dword [ebp - 0x2620]
add ecx, dword [ebp - 0x3cb0]
push ecx
call fcn.100ca6f0
add esp, 0xc
movzx edx, word [ebp - 0x3cb8]
push edx
lea eax, [ebp - 0x4cbc]
push eax
mov ecx, dword [ebp - 0x2620]
add ecx, dword [ebp - 0x3cb0]
push ecx
call fcn.10140ed0
add esp, 0xc
push 1
movzx edx, word [ebp - 0x3cb8]
push edx
mov eax, dword [ebp - 0x2620]
add eax, dword [ebp - 0x3cb0]
push eax
call fcn.100ca6f0
add esp, 0xc
jmp 0x100c7cd7
movzx ecx, word [ebp - 0x3cb8]
push ecx
lea edx, [ebp - 0x4cbc]
push edx
mov eax, dword [ebp - 0x2620]
add eax, dword [ebp - 0x3cb0]
push eax
call fcn.10140ed0
add esp, 0xc
lea ecx, [ebp - 0x4cc0]
push ecx
mov edx, dword [ebp - 0x4cc0]
push edx
movzx eax, word [ebp - 0x3cb8]
push eax
mov ecx, dword [ebp - 0x2620]
add ecx, dword [ebp - 0x3cb0]
push ecx
call dword [0x47e50e4]
jmp 0x100c7ac1
push 0x47e9068
call fcn.100e5500
add esp, 4
mov edx, dword [0x48293a0]
mov eax, dword [edx]
mov dword [ebp - 0x26b4], eax
mov ecx, dword [0x48293a0]
add ecx, 4
mov dword [0x48293a0], ecx
mov edx, dword [0x48293a0]
mov eax, dword [edx]
mov dword [ebp - 0x26c4], eax
mov ecx, dword [0x48293a0]
add ecx, 4
mov dword [0x48293a0], ecx
cmp dword [ebp - 0x26b4], 0
je 0x100c7dc9
cmp dword [ebp - 0x26c4], 0
je 0x100c7dc9
mov edx, dword [ebp - 0x264c]
mov eax, dword [ebp - 0x2620]
cmp eax, dword [edx + 0x34]
je 0x100c7dc9
mov ecx, dword [ebp - 0x26c4]
push ecx
mov edx, dword [ebp - 0x2620]
add edx, dword [ebp - 0x26b4]
push edx
mov eax, dword [ebp - 0x264c]
mov ecx, dword [eax + 0x34]
push ecx
mov edx, dword [ebp - 0x2620]
push edx
call fcn.100caa50
add esp, 0x10
movzx eax, al
test eax, eax
jne 0x100c7dc9
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [edx], 7
push 0x47e9058
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
call fcn.10142f20
add esp, 8
xor eax, eax
jmp 0x100c855d
push 0x47e9050
call fcn.100e5500
add esp, 4
cmp dword [ebp - 0x26e0], 0
je 0x100c7fd8
cmp dword [ebp - 0x26b8], 0
je 0x100c7fd8
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0x4cd4], edx
mov eax, dword [ebp - 0xa0]
sub eax, dword [ebp - 0xa8]
add eax, 1
mov dword [ebp - 0x4cdc], eax
lea ecx, [ebp - 0x4cd0]
push ecx
push 4
mov edx, dword [ebp - 0x4cdc]
push edx
mov eax, dword [ebp - 0x2620]
add eax, dword [ebp - 0x4cd4]
push eax
call dword [0x47e50e4]
mov cl, byte [0x48205ac]
mov byte [ebp - 0x546f], cl
movzx edx, byte [ebp - 0x546f]
test edx, edx
je 0x100c7e69
push 0
mov eax, dword [ebp - 0x4cdc]
push eax
mov ecx, dword [ebp - 0x2620]
add ecx, dword [ebp - 0x4cd4]
push ecx
call fcn.100ca6f0
add esp, 0xc
mov edx, dword [ebp - 0x264c]
mov esi, dword [ebp - 0x2620]
sub esi, dword [edx + 0x34]
call fcn.100da470
neg eax
sbb eax, eax
and eax, 0x1000
add esi, eax
mov dword [ebp - 0x4cd8], esi
mov dword [ebp - 0x4ce0], 0
jmp 0x100c7ea9
mov eax, dword [ebp - 0x4ce0]
add eax, 1
mov dword [ebp - 0x4ce0], eax
mov ecx, dword [ebp - 0x4ce0]
mov edx, dword [ebp - 0x26e0]
cmp dword [edx + ecx*4], 0
je 0x100c7f56
mov eax, dword [ebp - 0x4ce0]
mov ecx, dword [ebp - 0x26e0]
mov edx, dword [ebp - 0x2620]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x4ce4], edx
mov eax, dword [ebp - 0x4ce4]
mov ecx, dword [eax]
mov dword [ebp - 0x4ce8], ecx
cmp dword [ebp - 0x4ce8], 0x90909090
je 0x100c7f51
mov edx, dword [ebp - 0x4ce8]
sub edx, dword [ebp - 0x4cd8]
mov dword [ebp - 0x4ce8], edx
mov eax, dword [ebp - 0x4ce8]
push eax
mov eax, dword [ebp - 0x4ce0]
xor edx, edx
mov ecx, 0x1b
div ecx
mov edx, dword [edx*4 + 0x47e8b98]
call edx
add esp, 4
mov dword [ebp - 0x4ce8], eax
mov eax, dword [ebp - 0x4ce8]
mov ecx, dword [ebp - 0x26b8]
lea edx, [ecx + eax*4]
mov dword [ebp - 0x4ce8], edx
mov eax, dword [ebp - 0x4ce4]
mov ecx, dword [ebp - 0x4ce8]
mov dword [eax], ecx
jmp 0x100c7e9a
mov dl, byte [0x48205ac]
mov byte [ebp - 0x5470], dl
movzx eax, byte [ebp - 0x5470]
test eax, eax
je 0x100c7f8b
push 1
mov ecx, dword [ebp - 0x4cdc]
push ecx
mov edx, dword [ebp - 0x2620]
add edx, dword [ebp - 0x4cd4]
push edx
call fcn.100ca6f0
add esp, 0xc
lea eax, [ebp - 0x4cd0]
push eax
mov ecx, dword [ebp - 0x4cd0]
push ecx
mov edx, dword [ebp - 0x4cdc]
push edx
mov eax, dword [ebp - 0x2620]
add eax, dword [ebp - 0x4cd4]
push eax
call dword [0x47e50e4]
mov ecx, dword [ebp - 0x26e0]
mov dword [ebp - 0x5204], ecx
mov edx, dword [ebp - 0x5204]
push edx
call fcn.10142e54
add esp, 4
mov dword [ebp - 0x26e0], 0
mov eax, 0xe
shl eax, 2
mov ecx, dword [0x48205d4]
mov edx, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [edx + 0x64]
xor ebx, dword [ecx + eax]
and ebx, 1
neg ebx
sbb ebx, ebx
neg ebx
movzx eax, bl
test eax, eax
je 0x100c81f3
mov ecx, 0x1c
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov esi, dword [esi + 0x6c]
xor esi, dword [eax + 0x2c]
xor esi, dword [edx + ecx]
add esi, dword [ebp - 0x2620]
mov dword [ebp - 0x4cec], esi
mov ecx, 0x1f
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov esi, dword [esi + 0x40]
xor esi, dword [eax + 0x64]
xor esi, dword [edx + ecx]
mov dword [ebp - 0x50f0], esi
mov ecx, 0x10
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [edx + ecx]
xor eax, 0
mov dword [ebp - 0x5474], eax
mov ecx, 0x1b
shl ecx, 2
mov edx, dword [0x48205d4]
mov eax, dword [edx + ecx]
xor eax, 0
mov dword [ebp - 0x5478], eax
mov ecx, dword [ebp - 0x5474]
xor ecx, dword [ebp - 0x5478]
mov edx, 0x19
shl edx, 2
mov eax, dword [0x48205d4]
mov edx, dword [eax + edx]
xor edx, 0
xor ecx, edx
mov dword [0x48270a8], ecx
mov dword [ebp - 0x50f4], 0x80000000
mov dword [ebp - 0x50f8], 0
jmp 0x100c80e5
mov eax, dword [ebp - 0x50f8]
add eax, 1
mov dword [ebp - 0x50f8], eax
cmp dword [ebp - 0x50f8], 0x100
jae 0x100c8189
push 8
mov ecx, dword [ebp - 0x50f8]
push ecx
call fcn.100bb760
add esp, 8
shl eax, 0x18
mov dword [ebp - 0x50fc], eax
mov dword [ebp - 0x5100], 0
jmp 0x100c812a
mov edx, dword [ebp - 0x5100]
add edx, 1
mov dword [ebp - 0x5100], edx
cmp dword [ebp - 0x5100], 8
jge 0x100c8166
mov eax, dword [ebp - 0x50fc]
and eax, 0x80000000
je 0x100c8156
mov ecx, dword [ebp - 0x50fc]
shl ecx, 1
xor ecx, 0x4c11db7
mov dword [ebp - 0x50fc], ecx
jmp 0x100c8164
mov edx, dword [ebp - 0x50fc]
shl edx, 1
mov dword [ebp - 0x50fc], edx
jmp 0x100c811b
push 0x20
mov eax, dword [ebp - 0x50fc]
push eax
call fcn.100bb760
add esp, 8
mov ecx, dword [ebp - 0x50f8]
mov dword [ebp + ecx*4 - 0x50ec], eax
jmp 0x100c80d6
mov edx, dword [ebp - 0x4cec]
mov dword [ebp - 0x5104], edx
mov eax, dword [ebp - 0x5104]
add eax, dword [ebp - 0x50f0]
mov dword [ebp - 0x5108], eax
jmp 0x100c81b8
mov ecx, dword [ebp - 0x5104]
add ecx, 1
mov dword [ebp - 0x5104], ecx
mov edx, dword [ebp - 0x5104]
cmp edx, dword [ebp - 0x5108]
jae 0x100c81f3
mov eax, dword [ebp - 0x5104]
movsx ecx, byte [eax]
xor ecx, dword [0x48270a8]
and ecx, 0xff
mov edx, dword [0x48270a8]
shr edx, 8
xor edx, dword [ebp + ecx*4 - 0x50ec]
mov dword [0x48270a8], edx
jmp 0x100c81a9
push 0x47e9048
call fcn.100e5500
add esp, 4
mov eax, 0x1b
shl eax, 2
mov ecx, dword [0x48205d4]
mov edx, dword [ecx + eax]
xor edx, 0
mov dword [ebp - 0x547c], edx
mov eax, 0x19
shl eax, 2
mov ecx, dword [0x48205d4]
mov edx, dword [ecx + eax]
xor edx, 0
mov dword [ebp - 0x5480], edx
call fcn.100da470
mov ecx, dword [ebp - 0x547c]
xor ecx, dword [ebp - 0x5480]
xor ecx, eax
mov dword [ebp - 0x5484], ecx
mov edx, dword [ebp - 0x5484]
mov dword [0x48205c0], edx
mov eax, 0x22
shl eax, 2
mov ecx, dword [0x48205d4]
mov edx, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov esi, dword [esi + 0x50]
xor esi, dword [edx + 0x6c]
xor esi, dword [ecx + eax]
mov dword [ebp - 0x5488], esi
mov eax, dword [ebp - 0x5488]
push eax
mov ecx, dword [0x48293a0]
push ecx
call fcn.100a76d0
add esp, 8
mov dword [0x48293a0], eax
mov dword [0x48205c0], 0
push 0x47e9040
call fcn.100e5500
add esp, 4
mov edx, dword [0x48293a0]
sub edx, dword [0x48292fc]
mov dword [0x48292f8], edx
mov eax, 0x12
shl eax, 2
mov ecx, dword [0x48205d4]
mov edx, dword [0x48205d4]
mov esi, dword [0x48205d4]
mov ebx, dword [esi + 0x6c]
xor ebx, dword [edx + 0x64]
xor ebx, dword [ecx + eax]
and ebx, 0x80
neg ebx
sbb ebx, ebx
neg ebx
movzx eax, bl
test eax, eax
jne 0x100c8301
call fcn.100ca8e0
mov cl, byte [0x48205ac]
mov byte [ebp - 0x5489], cl
movzx edx, byte [ebp - 0x5489]
test edx, edx
je 0x100c8441
lea eax, [ebp - 0x510c]
push eax
push 1
mov ecx, dword [ebp - 0x2bc]
push ecx
mov edx, dword [ebp - 0x2620]
add edx, dword [ebp - 0xa8]
push edx
call dword [0x47e50e4]
mov dword [ebp - 0x51b0], eax
mov dword [ebp - 0x51ac], 0x94
lea eax, [ebp - 0x51ac]
push eax
call dword [0x47e50bc]
cmp dword [ebp - 0x519c], 2
jne 0x100c8399
lea ecx, [ebp - 0x510c]
push ecx
mov edx, dword [ebp - 0x510c]
or edx, 0x100
push edx
mov eax, dword [ebp - 0x2bc]
push eax
mov ecx, dword [ebp - 0x2620]
add ecx, dword [ebp - 0xa8]
push ecx
call dword [0x47e50e4]
mov dword [ebp - 0x51b0], eax
mov edx, dword [ebp - 0x2620]
add edx, dword [ebp - 0xa8]
mov dword [ebp - 0x5114], edx
mov eax, dword [ebp - 0x5114]
add eax, dword [ebp - 0x2bc]
mov dword [ebp - 0x5110], eax
mov ecx, dword [0x48296c8]
mov dword [ebp - 0x51b4], ecx
jmp 0x100c83da
mov edx, dword [ebp - 0x51b4]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x51b4], eax
cmp dword [ebp - 0x51b4], 0
je 0x100c8441
mov ecx, dword [ebp - 0x51b4]
mov edx, dword [ecx]
cmp edx, dword [ebp - 0x5114]
jb 0x100c8403
mov eax, dword [ebp - 0x51b4]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x5110]
jb 0x100c8435
mov edx, dword [ebp - 0x51b4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x51b4]
add eax, dword [ecx + 4]
cmp eax, dword [ebp - 0x5114]
jb 0x100c843f
mov edx, dword [ebp - 0x51b4]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x51b4]
add eax, dword [ecx + 4]
cmp eax, dword [ebp - 0x5110]
jae 0x100c843f
mov edx, dword [ebp - 0x51b4]
mov byte [edx + 0xc], 1
jmp 0x100c83cb
push 3
mov eax, dword [0x47e51c4]
push eax
call fcn.100ccff0
add esp, 8
mov byte [ebp - 0x2621], al
movzx ecx, byte [ebp - 0x2621]
test ecx, ecx
je 0x100c8488
mov edx, 0x13
shl edx, 2
mov eax, dword [0x48205d4]
mov ecx, dword [eax + edx]
xor ecx, 0x7c3
mov edx, 0x13
shl edx, 2
mov eax, dword [0x48205d4]
mov dword [edx + eax], ecx
push 0x47e9038
call fcn.100e5500
add esp, 4
push 0
mov ecx, 0x481ff88
call fcn.1007d800
cmp dword [0x48221a8], 0
jne 0x100c84b7
call dword [0x47e5370]
mov dword [0x48221a8], eax
jmp 0x100c84a1
mov ecx, dword [0x48205e4]
mov dword [ebp - 0x5490], ecx
push 0
push 0
mov ecx, dword [ebp - 0x5490]
call fcn.100a51d0
mov esi, eax
push 0
mov ecx, 0x4820630
call fcn.10070e90
xor esi, eax
mov dword [ebp - 0x5494], esi
mov edx, dword [0x4820628]
mov dword [ebp - 0x5498], edx
mov eax, dword [0x48205d4]
mov ecx, dword [0x48205d4]
mov edx, dword [0x48205d4]
mov edx, dword [edx + 0x40]
xor edx, dword [ecx + 0x54]
xor edx, dword [eax + 0x64]
xor edx, dword [ebp - 0x5498]
cmp dword [ebp - 0x5494], edx
jne 0x100c8558
mov eax, dword [0x48205e4]
mov dword [ebp - 0x549c], eax
push 0
push 1
mov ecx, dword [ebp - 0x549c]
call fcn.100a51d0
mov esi, eax
push 1
mov ecx, 0x4820630
call fcn.10070e90
xor esi, eax
mov dword [ebp - 0x54a0], esi
mov ecx, dword [0x482062c]
mov dword [ebp - 0x54a4], ecx
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.10140c7a
mov esp, ebp
pop ebp
ret