Function at 0x1005d450
Capabilities:
Hash data using crc32b

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x2b10b22
mov eax, dword fs:[0]
push eax
mov eax, 0x54ac
call fcn.100cdc10
mov eax, dword [0x2b476d0]
xor eax, ebp
mov dword [ebp - 0x24], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov eax, dword [0x2b1f0a8]
sub eax, 0x64
mov dword [0x2b5258c], eax
mov ecx, dword [0x2b1f224]
sub ecx, 0x64
mov dword [0x2b52590], ecx
mov edx, dword [0x2b1f220]
sub edx, 0x64
mov dword [0x2b52594], edx
mov eax, dword [0x2b1f21c]
sub eax, 0x64
mov dword [0x2b52598], eax
mov ecx, dword [0x2b1f218]
sub ecx, 0x64
mov dword [0x2b5259c], ecx
mov edx, dword [0x2b1f41c]
sub edx, 0x64
mov dword [0x2b525a0], edx
mov eax, dword [0x2b1f214]
sub eax, 0x64
mov dword [0x2b525a4], eax
mov ecx, dword [0x2b1f47c]
sub ecx, 0x64
mov dword [0x2b525a8], ecx
mov edx, dword [0x2b1f420]
sub edx, 0x64
mov dword [0x2b525ac], edx
mov eax, dword [0x2b1f104]
sub eax, 0x64
mov dword [0x2b525b0], eax
mov ecx, dword [0x2b1f324]
sub ecx, 0x64
mov dword [0x2b525b4], ecx
mov edx, dword [0x2b1f0c4]
sub edx, 0x64
mov dword [0x2b525b8], edx
mov eax, dword [0x2b1f2f8]
sub eax, 0x64
mov dword [0x2b525bc], eax
mov ecx, dword [0x2b1f02c]
sub ecx, 0x64
mov dword [0x2b525d0], ecx
mov edx, dword [0x2b1f014]
sub edx, 0x64
mov dword [0x2b525d4], edx
mov eax, dword [0x2b1f018]
sub eax, 0x64
mov dword [0x2b525d8], eax
mov ecx, dword [0x2b1f038]
sub ecx, 0x64
mov dword [0x2b525dc], ecx
mov edx, dword [0x2b1f04c]
sub edx, 0x64
mov dword [0x2b525e0], edx
mov eax, dword [0x2b1f004]
sub eax, 0x64
mov dword [0x2b525e4], eax
push 0x2b2285c
push 0x2b20cb0
call dword [0x2b1f0a8]
push eax
call fcn.10044d50
add esp, 8
mov dword [0x2b525e8], eax
push 0x2b22850
push 0x2b20cb0
call dword [0x2b1f0a8]
push eax
call fcn.10044d50
add esp, 8
mov dword [0x2b525ec], eax
mov ecx, dword [0x2b1f0a8]
push ecx
call fcn.10065ca0
add esp, 4
movzx esi, al
mov edx, dword [0x2b525e8]
push edx
call fcn.10065ca0
add esp, 4
movzx eax, al
add esi, eax
mov dword [ebp - 0x22c], esi
mov ecx, dword [0x2b1f334]
sub ecx, 0x64
mov dword [0x2b525f0], ecx
mov edx, 0x24
shl edx, 2
mov eax, dword [0x2b49854]
mov ecx, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [ecx + 0x34]
xor ebx, dword [eax + edx]
and ebx, 0x20
neg ebx
sbb ebx, ebx
neg ebx
movzx edx, bl
test edx, edx
je 0x1005d63f
call fcn.10065c90
mov dword [0x2b454a8], 0x2b22848
call dword [0x2b1f210]
mov dword [0x2b525f4], eax
call dword [0x2b1f20c]
mov dword [0x2b525f8], eax
call dword [0x2b1f208]
mov dword [0x2b525fc], eax
call dword [0x2b1f204]
mov dword [0x2b52600], eax
mov dword [0x2b454a8], 0x2b2283c
call fcn.10053150
movzx eax, al
test eax, eax
jne 0x1005d726
push 0x10010
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0xf
call fcn.10022900
add esp, 0x28
push eax
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x53
call fcn.10022900
add esp, 0x28
push eax
push 0
call fcn.100212b0
add esp, 4
push eax
push 0x2b22828
call fcn.100b9e10
add esp, 0x14
mov eax, 2
jmp 0x1006194c
mov dword [0x2b454a8], 0x2b2281c
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 0x18]
mov eax, dword [edx]
and eax, 1
je 0x1005d75d
mov cl, byte [0x2b4982e]
mov byte [ebp - 0x51f9], cl
movzx edx, byte [ebp - 0x51f9]
test edx, edx
je 0x1005d75d
mov byte [ebp - 0x5201], 1
jmp 0x1005d764
mov byte [ebp - 0x5201], 0
mov eax, dword [0x2b4b798]
mov dword [ebp - 0x5200], eax
mov ecx, dword [ebp - 0x5200]
mov dl, byte [ebp - 0x5201]
mov byte [ecx + 0x582], dl
mov dword [0x2b454a8], 0x2b22810
mov eax, 0x24
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [edx + 0x34]
xor ebx, dword [ecx + eax]
and ebx, 0x20
neg ebx
sbb ebx, ebx
neg ebx
movzx eax, bl
test eax, eax
je 0x1005d7d6
mov ecx, dword [0x2b1f200]
push ecx
call fcn.10065ca0
add esp, 4
movzx edx, al
mov dword [ebp - 0x23c], edx
mov dword [0x2b454a8], 0x2b22808
mov eax, dword [0x2b1f388]
sub eax, 0x64
mov dword [0x2b525c0], eax
mov ecx, dword [0x2b1f134]
sub ecx, 0x64
mov dword [0x2b525c4], ecx
mov edx, dword [0x2b1f458]
sub edx, 0x64
mov dword [0x2b525c8], edx
mov eax, dword [0x2b1f424]
sub eax, 0x64
mov dword [0x2b525cc], eax
mov ecx, 0x1f
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov esi, dword [esi + 0x54]
xor esi, dword [eax + 0x68]
xor esi, dword [edx + ecx]
mov dword [ebp - 0x20], esi
mov ecx, 0x1d
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov esi, dword [esi + 0x38]
xor esi, dword [eax + 0x34]
xor esi, dword [edx + ecx]
mov dword [ebp - 0x234], esi
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0x234]
mov dword [ebp - 0x18], ecx
call fcn.10065c90
mov dword [ebp - 0x228], eax
cmp dword [ebp - 0x228], 0
je 0x1005d8ab
mov edx, 0xa
shl edx, 2
mov eax, dword [0x2b49854]
mov ecx, dword [eax + edx]
xor ecx, 0x2611
mov edx, 0xa
shl edx, 2
mov eax, dword [0x2b49854]
mov dword [edx + eax], ecx
call fcn.10061ac0
movzx ecx, al
test ecx, ecx
je 0x1005d8c1
mov eax, 2
jmp 0x1006194c
push 0
mov ecx, 0x2b49208
call fcn.10018bf0
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 0
jne 0x1005d93e
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
push ecx
call fcn.100cdcc0
add esp, 4
test eax, eax
je 0x1005d93e
mov edx, dword [0x2b4b798]
mov dword [ebp - 0x5208], edx
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
push ecx
mov ecx, dword [ebp - 0x5208]
call fcn.10011420
movzx edx, al
test edx, edx
jne 0x1005d92f
push 0x10
push 0
push 0x2b227f8
push 0
call fcn.100212b0
add esp, 4
push eax
push 0x2b227e0
call fcn.100ba770
add esp, 0x14
mov eax, 2
jmp 0x1006194c
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 1
je 0x1005d954
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x14], 8
jne 0x1005d9d9
mov dl, byte [0x2b49832]
mov byte [ebp - 0x5209], dl
movzx eax, byte [ebp - 0x5209]
test eax, eax
jne 0x1005d982
mov cl, byte [0x2b49827]
mov byte [ebp - 0x520a], cl
movzx edx, byte [ebp - 0x520a]
test edx, edx
je 0x1005d9d9
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
push ecx
push 0x2b52628
call fcn.100cdd50
add esp, 8
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 8
sete al
push eax
push 0
push 0
call fcn.10057af0
add esp, 0xc
movzx ecx, al
test ecx, ecx
je 0x1005d9c0
mov edx, dword [ebp + 8]
mov dword [edx + 0x30], 0
jmp 0x1005d9ca
mov eax, dword [ebp + 8]
mov dword [eax + 0x30], 1
mov eax, 2
jmp 0x1006194c
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x14], 3
jne 0x1005d9f6
call fcn.1005a5c0
mov eax, 2
jmp 0x1006194c
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 4
jne 0x1005da29
mov al, byte [0x2b49830]
mov byte [ebp - 0x520b], al
movzx ecx, byte [ebp - 0x520b]
test ecx, ecx
je 0x1005da29
call fcn.10062fb0
mov eax, 2
jmp 0x1006194c
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 5
jne 0x1005da5e
mov al, byte [0x2b49833]
mov byte [ebp - 0x520c], al
movzx ecx, byte [ebp - 0x520c]
test ecx, ecx
je 0x1005da5e
push 0
call fcn.100628f0
add esp, 4
mov eax, 2
jmp 0x1006194c
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 9
jne 0x1005da7d
push 1
call fcn.100628f0
add esp, 4
mov eax, 2
jmp 0x1006194c
mov eax, dword [ebp + 8]
cmp dword [eax + 0x14], 6
jne 0x1005da97
call fcn.10063e90
mov eax, 2
jmp 0x1006194c
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x14], 7
jne 0x1005dab3
push 0
call fcn.10052f90
mov eax, 2
jmp 0x1006194c
mov edx, dword [ebp + 8]
cmp dword [edx + 0x14], 0xa
jne 0x1005dac6
mov eax, 2
jmp 0x1006194c
mov al, byte [0x2b1fd05]
mov byte [ebp - 0x224], al
push 0x1ff
push 0
lea ecx, [ebp - 0x223]
push ecx
call fcn.100cdc40
add esp, 0xc
mov dword [ebp - 0x238], 0
mov dl, byte [0x2b49827]
mov byte [ebp - 0x520d], dl
movzx eax, byte [ebp - 0x520d]
test eax, eax
je 0x1005db14
mov dword [ebp - 0x238], 0x2b227d4
jmp 0x1005db35
mov cl, byte [0x2b49832]
mov byte [ebp - 0x520e], cl
movzx edx, byte [ebp - 0x520e]
test edx, edx
je 0x1005db35
mov dword [ebp - 0x238], 0x2b2011c
cmp dword [ebp - 0x238], 0
je 0x1005db6c
mov ecx, 0x2b49208
call fcn.10018a60
push eax
push 0x1ff
lea eax, [ebp - 0x224]
push eax
push 0x2b1fd05
mov ecx, dword [ebp - 0x238]
push ecx
push 0x2b20114
call dword [0x2b1f088]
lea edx, [ebp - 0x224]
push edx
call fcn.100cdcc0
add esp, 4
test eax, eax
je 0x1005dc2a
mov al, byte [0x2b1fd05]
mov byte [ebp - 0x33c], al
push 0xff
push 0
lea ecx, [ebp - 0x33b]
push ecx
call fcn.100cdc40
add esp, 0xc
mov dl, byte [0x2b1fd05]
mov byte [ebp - 0x43c], dl
push 0xff
push 0
lea eax, [ebp - 0x43b]
push eax
call fcn.100cdc40
add esp, 0xc
lea ecx, [ebp - 0x43c]
push ecx
lea edx, [ebp - 0x33c]
push edx
lea eax, [ebp - 0x224]
push eax
call fcn.100865b0
add esp, 0xc
movzx ecx, al
test ecx, ecx
je 0x1005dc2a
push 1
lea edx, [ebp - 0x43c]
push edx
lea eax, [ebp - 0x33c]
push eax
mov ecx, 0x2b49208
call fcn.100199c0
movzx ecx, al
test ecx, ecx
je 0x1005dc2a
mov ecx, 0x2b49208
call fcn.10018a60
push eax
push 0
mov edx, dword [ebp - 0x238]
push edx
push 0x2b20114
call dword [0x2b1f2f4]
mov dword [0x2b454a8], 0x2b227cc
call fcn.10065ca0
mov byte [ebp - 0x1a], al
mov eax, dword [0x2b5293c]
mov dword [0x2b52938], eax
movzx ecx, byte [ebp - 0x1a]
test ecx, ecx
je 0x1005dc74
mov edx, 0xa
shl edx, 2
mov eax, dword [0x2b49854]
mov ecx, dword [eax + edx]
xor ecx, 0x1c96
mov edx, 0xa
shl edx, 2
mov eax, dword [0x2b49854]
mov dword [edx + eax], ecx
mov ecx, 0x2b49208
call fcn.10061a30
movzx ecx, al
test ecx, ecx
je 0x1005dd3f
call fcn.10040a30
movzx edx, al
test edx, edx
je 0x1005dd3f
push 0x10044
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0xe
call fcn.10022900
add esp, 0x28
push eax
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x42
call fcn.10022900
add esp, 0x28
push eax
push 0
call fcn.100212b0
add esp, 4
push eax
push 0x2b227bc
call fcn.100b9e10
add esp, 0x14
cmp eax, 6
jne 0x1005dd35
push 0
push 2
call dword [0x2b1f428]
mov eax, 2
jmp 0x1006194c
mov dword [0x2b454a8], 0x2b227b4
call fcn.10065ca0
mov dword [0x2b454a8], 0x2b227ac
mov ecx, dword [0x2b4b798]
mov dword [ebp - 0x5214], ecx
mov edx, dword [ebp - 0x5214]
mov byte [edx + 0x584], 0
mov eax, dword [0x2b4b798]
mov dword [ebp - 0x5218], eax
mov ecx, dword [ebp - 0x5218]
mov dl, byte [ecx + 0x578]
mov byte [ebp - 0x5219], dl
movzx eax, byte [ebp - 0x5219]
test eax, eax
je 0x1005de32
mov dword [0x2b454a8], 0x2b227a4
push 0
mov ecx, dword [0x2b4b798]
call fcn.100111d0
mov dword [0x2b454a8], 0x2b2279c
push 1
mov ecx, dword [0x2b4b798]
call fcn.100111d0
mov dword [0x2b454a8], 0x2b22794
push 0
mov ecx, 0x2b49208
call fcn.10018bf0
mov dword [0x2b454a8], 0x2b2278c
mov ecx, dword [0x2b4b798]
mov dword [ebp - 0x5220], ecx
push 0
push 0
mov ecx, dword [ebp - 0x5220]
call fcn.100110e0
movzx edx, al
test edx, edx
jne 0x1005de32
mov eax, dword [0x2b4b798]
mov dword [ebp - 0x5224], eax
mov ecx, dword [ebp - 0x5224]
mov byte [ecx + 0x578], 0
push 0x573
call fcn.10054660
add esp, 4
mov dword [0x2b454a8], 0x2b22780
mov byte [ebp - 0x19], 0
mov byte [0x2b454b0], 1
mov edx, dword [0x2b4b798]
mov dword [ebp - 0x5228], edx
mov eax, dword [ebp - 0x5228]
mov cl, byte [eax + 0x578]
mov byte [ebp - 0x5229], cl
movzx edx, byte [ebp - 0x5229]
test edx, edx
jne 0x1005e344
mov byte [ebp - 0x43d], 1
mov dword [0x2b454a8], 0x2b22774
call fcn.10054670
cmp eax, 0x573
jne 0x1005df92
mov dword [0x2b454a8], 0x2b22768
mov eax, dword [0x2b4b798]
mov dword [ebp - 0x5230], eax
push 1
mov ecx, dword [ebp - 0x5230]
call fcn.100108c0
push eax
push 0x2b1fdec
lea ecx, [ebp - 0x450]
push ecx
call fcn.100cde48
add esp, 0xc
lea edx, [ebp - 0x450]
push edx
lea ecx, [ebp - 0x518c]
call fcn.1006aa80
mov dword [ebp - 4], 0
push 0x10010
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0xf
call fcn.10022900
add esp, 0x28
push eax
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
lea eax, [ebp - 0x518c]
push eax
push 0x29
call fcn.10022900
add esp, 0x28
push eax
push 0
call fcn.100212b0
add esp, 4
push eax
push 0x2b22754
call fcn.100b9e10
add esp, 0x14
mov dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x518c]
call fcn.10001510
mov byte [ebp - 0x43d], 0
jmp 0x1005e306
call fcn.10054670
cmp eax, 0x47e
jne 0x1005e045
mov dword [0x2b454a8], 0x2b22748
push 0x10010
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0xf
call fcn.10022900
add esp, 0x28
push eax
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x30
call fcn.10022900
add esp, 0x28
push eax
push 0
call fcn.100212b0
add esp, 4
push eax
push 0x2b22730
call fcn.100b9e10
add esp, 0x14
mov byte [ebp - 0x43d], 0
jmp 0x1005e306
call fcn.10054670
cmp eax, 0x53d
jne 0x1005e0f8
mov dword [0x2b454a8], 0x2b22724
push 0x10010
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0xf
call fcn.10022900
add esp, 0x28
push eax
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x4f
call fcn.10022900
add esp, 0x28
push eax
push 0
call fcn.100212b0
add esp, 4
push eax
push 0x2b22710
call fcn.100b9e10
add esp, 0x14
mov byte [ebp - 0x43d], 0
jmp 0x1005e306
mov ecx, dword [0x2b4b798]
mov dword [ebp - 0x5250], ecx
mov ecx, dword [ebp - 0x5250]
call fcn.1000d7a0
movzx edx, al
test edx, edx
jne 0x1005e2e3
mov al, byte [0x2b49827]
mov byte [ebp - 0x5251], al
movzx ecx, byte [ebp - 0x5251]
test ecx, ecx
jne 0x1005e2e3
mov dword [0x2b454a8], 0x2b22704
mov dl, byte [0x2b49831]
mov byte [ebp - 0x5252], dl
movzx eax, byte [ebp - 0x5252]
test eax, eax
je 0x1005e1b1
mov dword [0x2b454a8], 0x2b226f8
push 0
push 0x2b1ff6c
push 0x2b1ffc4
mov ecx, 0x2b4b7a0
call fcn.10007550
push 1
push 0
push 0
mov ecx, 0x2b49208
call fcn.100199c0
movzx ecx, al
test ecx, ecx
jne 0x1005e1ac
call fcn.10058080
movzx edx, al
test edx, edx
je 0x1005e1a5
mov byte [0x2b454b0], 0
mov byte [ebp - 0x19], 1
jmp 0x1005e1ac
mov byte [ebp - 0x43d], 0
jmp 0x1005e2e1
mov dword [0x2b454a8], 0x2b226ec
push 0
mov ecx, 0x2b49208
call fcn.10018bf0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x15
call fcn.10022900
add esp, 0x28
push eax
lea eax, [ebp - 0x2454]
push eax
call fcn.100cdf09
add esp, 8
push 0x10013
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2f
call fcn.10022900
add esp, 0x28
push eax
lea ecx, [ebp - 0x2454]
push ecx
push 0
call fcn.100212b0
add esp, 4
push eax
push 0x2b226dc
call fcn.100b9e10
add esp, 0x14
mov dword [ebp - 0x2458], eax
cmp dword [ebp - 0x2458], 2
jne 0x1005e299
push 0x10
call dword [0x2b1f45c]
movsx edx, ax
and edx, 0xfffffffe
je 0x1005e290
push 0
call fcn.10052f90
mov byte [ebp - 0x43d], 0
jmp 0x1005e2e1
cmp dword [ebp - 0x2458], 6
jne 0x1005e2a8
mov byte [ebp - 0x19], 1
jmp 0x1005e2e1
cmp dword [ebp - 0x2458], 7
jne 0x1005e2e1
push 1
push 0
push 0
mov ecx, 0x2b49208
call fcn.100199c0
movzx eax, al
test eax, eax
jne 0x1005e2e1
call fcn.10058080
movzx ecx, al
test ecx, ecx
je 0x1005e2da
mov byte [ebp - 0x19], 1
jmp 0x1005e2e1
mov byte [ebp - 0x43d], 0
jmp 0x1005e306
mov dword [0x2b454a8], 0x2b226d0
call fcn.10058080
movzx edx, al
test edx, edx
je 0x1005e2ff
mov byte [ebp - 0x19], 1
jmp 0x1005e306
mov byte [ebp - 0x43d], 0
movzx eax, byte [ebp - 0x19]
test eax, eax
je 0x1005e32a
push 0
push 1
push 0
call fcn.10057af0
add esp, 0xc
movzx ecx, al
test ecx, ecx
jne 0x1005e32a
mov byte [ebp - 0x43d], 0
movzx edx, byte [ebp - 0x43d]
test edx, edx
jne 0x1005e33f
mov eax, 2
jmp 0x1006194c
jmp 0x1005e5a4
mov eax, dword [0x2b4b798]
mov dword [ebp - 0x5258], eax
mov ecx, dword [ebp - 0x5258]
mov dl, byte [ecx + 0x579]
mov byte [ebp - 0x5259], dl
movzx eax, byte [ebp - 0x5259]
test eax, eax
je 0x1005e511
mov ecx, dword [ebp + 8]
cmp dword [ecx + 0x14], 2
jne 0x1005e511
mov dword [0x2b454a8], 0x2b226c4
mov dl, byte [0x2b49826]
mov byte [ebp - 0x525a], dl
movzx eax, byte [ebp - 0x525a]
test eax, eax
jne 0x1005e475
call fcn.10063310
mov dword [ebp - 0x245c], eax
cmp dword [ebp - 0x245c], 0
je 0x1005e470
mov ecx, dword [0x2b4b798]
mov dword [ebp - 0x5260], ecx
mov edx, dword [ebp - 0x245c]
push edx
mov ecx, dword [ebp - 0x5260]
call fcn.100154d0
movzx eax, al
test eax, eax
jne 0x1005e470
push 0x10010
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0xf
call fcn.10022900
add esp, 0x28
push eax
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x51
call fcn.10022900
add esp, 0x28
push eax
push 0
call fcn.100212b0
add esp, 4
push eax
push 0x2b22228
call fcn.100b9e10
add esp, 0x14
jmp 0x1005e502
push 0x10040
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0xf
call fcn.10022900
add esp, 0x28
push eax
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x2b535f0
push 0x3e
call fcn.10022900
add esp, 0x28
push eax
push 0
call fcn.100212b0
add esp, 4
push eax
push 0x2b226a8
call fcn.100b9e10
add esp, 0x14
mov eax, 2
jmp 0x1006194c
mov dword [0x2b454a8], 0x2b2269c
push 0
mov ecx, 0x2b49208
call fcn.10018bf0
mov ecx, dword [0x2b4b798]
mov dword [ebp - 0x5264], ecx
mov edx, dword [ebp - 0x5264]
mov al, byte [edx + 0x609]
mov byte [ebp - 0x5265], al
movzx ecx, byte [ebp - 0x5265]
test ecx, ecx
je 0x1005e584
mov edx, dword [0x2b4b798]
mov dword [ebp - 0x526c], edx
mov eax, dword [ebp - 0x526c]
mov cl, byte [eax + 0x60a]
mov byte [ebp - 0x526d], cl
movzx edx, byte [ebp - 0x526d]
test edx, edx
je 0x1005e584
mov ecx, dword [0x2b4b798]
call fcn.10016ce0
call fcn.10057f40
movzx eax, al
test eax, eax
jne 0x1005e5a4
push 1
call fcn.10053400
add esp, 4
mov eax, 2
jmp 0x1006194c
mov ecx, dword [0x2b4b798]
mov dword [ebp - 0x5274], ecx
mov edx, dword [ebp - 0x5274]
mov al, byte [edx + 0x584]
mov byte [ebp - 0x5275], al
movzx ecx, byte [ebp - 0x5275]
test ecx, ecx
je 0x1005e5dc
mov dword [0x2b454a8], 0x2b22690
jmp 0x1005dd58
push 0
call fcn.10053400
add esp, 4
test eax, eax
je 0x1005e674
mov ecx, 0x2b498b0
call fcn.1000f4d0
and eax, 1
je 0x1005e674
call fcn.100b3380
movzx edx, al
test edx, edx
je 0x1005e660
mov ecx, dword [0x2b4b798]
call fcn.10015fd0
push 0
mov eax, dword [0x2b4b798]
push eax
call fcn.10001090
add esp, 8
push 1
call fcn.10053400
add esp, 4
mov dword [ebp - 0x2460], eax
mov ecx, dword [0x2b49858]
mov dword [ebp - 0x527c], ecx
mov edx, dword [ebp - 0x2460]
xor edx, dword [ebp - 0x527c]
xor edx, 0xffffffff
push edx
mov eax, dword [0x2b4b798]
push eax
call fcn.100b3420
add esp, 8
jmp 0x1005e66a
push 1
call fcn.10053400
add esp, 4
mov eax, 2
jmp 0x1006194c
mov dword [0x2b454a8], 0x2b22688
mov ecx, 0xc
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov edi, dword [0x2b49854]
mov edi, dword [edi + 0x10]
xor edi, dword [esi + 0x4c]
xor edi, dword [eax + 0xc]
xor edi, dword [edx + ecx]
mov dword [ebp - 0x14], edi
je 0x1005e7cb
mov dword [ebp - 0x2464], 0x1e
mov dword [ebp - 0x2468], 0x2d
mov ecx, dword [0x2b4b368]
mov dword [ebp - 0x5280], ecx
mov edx, dword [ebp - 0x14]
cmp edx, dword [ebp - 0x5280]
je 0x1005e708
mov eax, dword [ebp - 0x14]
mov dword [0x2b4b368], eax
mov dword [0x2b4b36c], 0
mov dword [0x2b4b370], 0
mov dword [0x2b4b374], 0
jmp 0x1005e78b
push 0
call fcn.100d1633
add esp, 4
cmp dword [ebp - 0x14], eax
jbe 0x1005e732
mov ecx, dword [0x2b4b36c]
mov dword [ebp - 0x5284], ecx
mov edx, dword [ebp - 0x5284]
add edx, 1
mov dword [0x2b4b36c], edx
mov eax, dword [0x2b4b374]
mov dword [ebp - 0x5288], eax
push 0
call fcn.100795e0
add esp, 4
movzx ecx, ax
cmp ecx, dword [ebp - 0x5288]
je 0x1005e78b
push 0
call fcn.100795e0
add esp, 4
movzx edx, ax
mov dword [ebp - 0x528c], edx
mov eax, dword [ebp - 0x528c]
mov dword [0x2b4b374], eax
mov ecx, dword [0x2b4b370]
mov dword [ebp - 0x5290], ecx
mov edx, dword [ebp - 0x5290]
add edx, 1
mov dword [0x2b4b370], edx
mov eax, dword [0x2b4b36c]
mov dword [ebp - 0x5294], eax
cmp dword [ebp - 0x5294], 0x2d
ja 0x1005e7b4
mov ecx, dword [0x2b4b370]
mov dword [ebp - 0x5298], ecx
cmp dword [ebp - 0x5298], 0x1e
jbe 0x1005e7cb
push 0x2b22680
call fcn.10054830
add esp, 4
mov eax, 2
jmp 0x1006194c
mov dword [0x2b454a8], 0x2b22674
mov edx, dword [0x2b4b798]
mov dword [ebp - 0x529c], edx
mov ecx, dword [ebp - 0x529c]
call fcn.10017090
movzx eax, al
test eax, eax
jne 0x1005e7fd
mov eax, 2
jmp 0x1006194c
mov ecx, dword [0x2b4b798]
mov dword [ebp - 0x52a0], ecx
mov ecx, dword [ebp - 0x52a0]
call fcn.10010a90
movzx edx, al
test edx, edx
jne 0x1005e825
mov eax, 2
jmp 0x1006194c
mov eax, 0x24
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [edx + 0x34]
xor ebx, dword [ecx + eax]
and ebx, 0x20
neg ebx
sbb ebx, ebx
neg ebx
movzx eax, bl
test eax, eax
je 0x1005e86c
call fcn.10021600
test eax, eax
jne 0x1005e86c
call fcn.10065ca0
mov byte [ebp - 0x22d], al
mov edx, dword [0x2b4b798]
mov dword [ebp - 0x52a4], edx
mov eax, dword [ebp - 0x52a4]
mov ecx, dword [eax + 0x5cc]
mov dword [ebp - 0x52a8], ecx
cmp dword [ebp - 0x52a8], 0
je 0x1005ea42
mov edx, dword [0x2b4b798]
mov dword [ebp - 0x52ac], edx
mov eax, dword [ebp - 0x52ac]
mov ecx, dword [eax + 0x5cc]
mov dword [ebp - 0x52b0], ecx
mov edx, dword [0x2b52588]
add edx, dword [ebp - 0x52b0]
mov dword [ebp - 0x2478], edx
mov eax, dword [ebp - 0x2478]
mov ecx, dword [eax]
mov dword [ebp - 0x2474], ecx
mov edx, dword [ebp - 0x2478]
add edx, 4
mov dword [ebp - 0x2478], edx
mov eax, dword [ebp - 0x2474]
add eax, 0x10000
push eax
call fcn.100cb3fb
add esp, 4
mov dword [ebp - 0x5190], eax
mov ecx, dword [ebp - 0x5190]
mov dword [ebp - 0x2470], ecx
mov edx, dword [ebp - 0x2470]
mov dword [ebp - 0x246c], edx
mov eax, 1
test eax, eax
je 0x1005e9ad
mov ecx, dword [ebp - 0x2474]
add ecx, 0x10000
mov dword [ebp - 0x247c], ecx
push 0
push 0
lea edx, [ebp - 0x247c]
push edx
mov eax, dword [ebp - 0x246c]
push eax
mov ecx, dword [ebp - 0x2478]
push ecx
call fcn.10020a10
add esp, 0x14
mov dword [ebp - 0x2478], eax
cmp dword [ebp - 0x2478], 0
jne 0x1005e98b
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [eax], 0
push 0x2b22664
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
push edx
call fcn.100cdd50
add esp, 8
xor eax, eax
jmp 0x1006194c
cmp dword [ebp - 0x247c], 0
jne 0x1005e996
jmp 0x1005e9ad
mov eax, dword [ebp - 0x246c]
add eax, dword [ebp - 0x247c]
mov dword [ebp - 0x246c], eax
jmp 0x1005e916
mov ecx, dword [0x2b4b798]
mov dword [ebp - 0x52b4], ecx
mov edx, dword [ebp - 0x52b4]
mov ax, word [edx + 0x5ba]
mov word [ebp - 0x52b6], ax
movzx ecx, word [ebp - 0x52b6]
and ecx, 0x7fff
push ecx
call dword [0x2b55878]
add esp, 4
mov edx, dword [0x2b4b798]
mov dword [ebp - 0x52bc], edx
mov eax, dword [ebp - 0x52bc]
mov cx, word [eax + 0x5ba]
mov word [ebp - 0x52be], cx
push 0
movzx edx, word [ebp - 0x52be]
and edx, 0x8000
setne al
push eax
mov ecx, dword [ebp - 0x2470]
push ecx
call dword [0x2b55880]
add esp, 0xc
mov edx, dword [ebp - 0x2470]
mov dword [ebp - 0x5194], edx
mov eax, dword [ebp - 0x5194]
push eax
call fcn.100cdcba
add esp, 4
mov ecx, 0x24
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [eax + 0x34]
xor ebx, dword [edx + ecx]
and ebx, 0x20
neg ebx
sbb ebx, ebx
neg ebx
movzx ecx, bl
test ecx, ecx
je 0x1005eaa7
movzx edx, byte [ebp - 0x22d]
test edx, edx
je 0x1005eaa7
mov eax, 0xa
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [ecx + eax]
xor edx, 0xf88b6dc3
mov eax, 0xa
shl eax, 2
mov ecx, dword [0x2b49854]
mov dword [eax + ecx], edx
mov dword [0x2b454a8], 0x2b2265c
mov edx, dword [0x2b4b444]
mov dword [ebp - 0x52c4], edx
mov eax, dword [ebp - 0x52c4]
add eax, 1
mov dword [0x2b4b444], eax
mov ecx, dword [0x2b498b4]
or ecx, 0x20
mov dword [0x2b498b4], ecx
mov edx, dword [0x2b4b448]
mov dword [ebp - 0x52c8], edx
mov eax, dword [ebp - 0x52c8]
add eax, 1
mov dword [0x2b4b448], eax
mov ecx, dword [0x2b498b4]
or ecx, 0x20
mov dword [0x2b498b4], ecx
mov edx, dword [0x2b1f4c8]
push edx
call fcn.10065ca0
add esp, 4
movzx eax, al
mov dword [ebp - 0x10], eax
cmp dword [ebp - 0x10], 0
je 0x1005eb45
mov ecx, 0xa
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [edx + ecx]
xor eax, 0x207d
mov ecx, 0xa
shl ecx, 2
mov edx, dword [0x2b49854]
mov dword [ecx + edx], eax
mov dword [0x2b454a8], 0x2b22654
push 0
mov ecx, 0x2b49208
call fcn.10018bf0
push 0
mov eax, dword [0x2b4b798]
push eax
call fcn.10001090
add esp, 8
call fcn.10079290
mov dword [0x2b52608], eax
mov cl, byte [0x2b49827]
mov byte [ebp - 0x52c9], cl
movzx edx, byte [ebp - 0x52c9]
test edx, edx
je 0x1005ebe5
mov eax, dword [0x2b4b798]
mov dword [ebp - 0x52d0], eax
mov ecx, dword [ebp - 0x52d0]
mov dl, byte [ecx + 0x57c]
mov byte [ebp - 0x52d1], dl
mov eax, dword [0x2b4b798]
mov dword [ebp - 0x52d8], eax
mov cl, byte [ebp - 0x52d1]
push ecx
push 1
mov ecx, dword [ebp - 0x52d8]
call fcn.100108c0
push eax
push 0x2b49214
call fcn.10096be0
add esp, 0xc
mov eax, 2
jmp 0x1006194c
mov dword [0x2b454a8], 0x2b2264c
mov dword [ebp - 0x2620], 0
mov byte [ebp - 0x261c], 0
lea edx, [ebp - 0x2628]
push edx
push 0x2a83f80
call dword [0x2b55874]
add esp, 8
mov eax, 0x24
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [edx + 0x34]
xor ebx, dword [ecx + eax]
and ebx, 0x20
neg ebx
sbb ebx, ebx
neg ebx
movzx eax, bl
test eax, eax
je 0x1005ec92
movsx ecx, byte [ebp - 0x261c]
test ecx, ecx
je 0x1005ec92
mov edx, 0x15
shl edx, 2
mov eax, dword [0x2b49854]
mov ecx, dword [eax + edx]
xor ecx, 0
mov dword [ebp - 0x52e4], ecx
mov edx, 0xa
shl edx, 2
mov eax, dword [0x2b49854]
mov ecx, dword [eax + edx]
xor ecx, dword [ebp - 0x52e4]
mov edx, 0xa
shl edx, 2
mov eax, dword [0x2b49854]
mov dword [edx + eax], ecx
mov dword [0x2b454a8], 0x2b22644
push 1
call fcn.10043a60
add esp, 4
mov ecx, dword [0x2b1f178]
push ecx
call fcn.10065ca0
add esp, 4
movzx edx, al
test edx, edx
je 0x1005ecfe
mov eax, 4
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [ecx + eax]
xor edx, 0
mov dword [ebp - 0x52e8], edx
mov eax, 0xa
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [ecx + eax]
xor edx, dword [ebp - 0x52e8]
mov eax, 0xa
shl eax, 2
mov ecx, dword [0x2b49854]
mov dword [eax + ecx], edx
mov edx, dword [0x2b49878]
mov dword [ebp - 0x2638], edx
mov eax, dword [ebp - 0x2638]
mov ecx, dword [ebp - 0x2638]
add ecx, dword [eax + 0x3c]
mov dword [ebp - 0x25c4], ecx
mov edx, dword [0x2b49878]
mov dword [ebp - 0x52ec], edx
mov eax, dword [ebp - 0x52ec]
mov dword [ebp - 0x2598], eax
mov ecx, dword [ebp - 0x25c4]
mov edx, dword [ecx + 0x50]
mov dword [ebp - 0x2618], edx
mov dword [ebp - 0x25b0], 0
mov dword [ebp - 0x2594], 0
call fcn.10065c90
test eax, eax
je 0x1005ed7f
mov eax, 0xe
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [ecx + eax]
xor edx, 0
mov dword [ebp - 0x548c], edx
jmp 0x1005ed89
mov dword [ebp - 0x548c], 0
mov eax, 9
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [ecx + eax]
xor edx, 0
xor edx, dword [ebp - 0x548c]
mov dword [ebp - 0x248c], edx
mov eax, 0x20
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [edx + 0x34]
xor ebx, dword [ecx + eax]
and ebx, 0x200000
neg ebx
sbb ebx, ebx
neg ebx
movzx eax, bl
test eax, eax
je 0x1005f407
mov dword [0x2b454a8], 0x2b2263c
mov ecx, dword [0x2b52604]
mov edx, dword [ecx]
mov dword [ebp - 0x2594], edx
mov eax, dword [0x2b52604]
add eax, 4
mov dword [0x2b52604], eax
mov ecx, dword [ebp - 0x2594]
add ecx, 0x10000
mov dword [ebp - 0x2788], ecx
mov dword [ebp - 0x2784], 0xa
push 0
call fcn.100d1633
add esp, 4
mov dword [ebp - 0x52f0], eax
mov edx, dword [ebp - 0x52f0]
mov dword [ebp - 0x2664], edx
mov eax, dword [0x2b1f178]
push eax
call fcn.10065ca0
add esp, 4
movzx ecx, al
test ecx, ecx
je 0x1005ee74
mov edx, 0x15
shl edx, 2
mov eax, dword [0x2b49854]
mov ecx, dword [eax + edx]
xor ecx, 0
xor ecx, dword [ebp - 0x248c]
mov dword [ebp - 0x248c], ecx
mov dword [ebp - 0x2660], 0
cmp dword [ebp - 0x2660], 0
jne 0x1005ef8d
mov edx, dword [ebp - 0x2784]
sub edx, 1
mov dword [ebp - 0x2784], edx
jns 0x1005eec4
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ecx], 0
push 0x2b2262c
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
call fcn.100cdd50
add esp, 8
xor eax, eax
jmp 0x1006194c
cmp dword [ebp - 0x2784], 0
jle 0x1005eee4
lea ecx, [ebp - 0x2664]
call fcn.10014b10
and eax, 0x3ff0000
mov dword [0x2b52618], eax
jmp 0x1005eef7
cmp dword [ebp - 0x2784], 0
jne 0x1005eef7
mov dword [0x2b52618], 0
push 0x40
push 0x2000
mov ecx, dword [ebp - 0x2788]
push ecx
mov edx, dword [0x2b52618]
push edx
call dword [0x2b1f178]
mov dword [ebp - 0x2660], eax
cmp dword [ebp - 0x2660], 0
je 0x1005ef88
push 0x40
push 0x1000
mov eax, dword [ebp - 0x2788]
push eax
mov ecx, dword [0x2b52618]
push ecx
call dword [0x2b1f178]
mov dword [ebp - 0x2660], eax
cmp dword [ebp - 0x2660], 0
je 0x1005ef88
mov edx, dword [ebp - 0x2660]
mov dword [0x2b52618], edx
mov eax, dword [ebp - 0x2660]
cmp eax, dword [ebp - 0x2598]
jbe 0x1005ef88
mov ecx, dword [ebp - 0x2598]
add ecx, dword [ebp - 0x2618]
cmp dword [ebp - 0x2660], ecx
jae 0x1005ef88
mov edx, dword [ebp - 0x2788]
shr edx, 2
mov dword [ebp - 0x2788], edx
jmp 0x1005ee7e
call fcn.10065c90
test eax, eax
je 0x1005efa4
mov eax, dword [ebp - 0x2788]
shr eax, 1
mov dword [ebp - 0x2788], eax
mov ecx, 1
test ecx, ecx
je 0x1005f037
cmp dword [ebp - 0x2594], 0xffff
jae 0x1005efc9
mov dword [ebp - 0x5490], 0xffff
jmp 0x1005efd5
mov edx, dword [ebp - 0x2594]
mov dword [ebp - 0x5490], edx
mov eax, dword [ebp - 0x5490]
mov dword [ebp - 0x2794], eax
push 0
mov ecx, dword [ebp - 0x248c]
push ecx
lea edx, [ebp - 0x2794]
push edx
mov eax, dword [ebp - 0x2660]
push eax
mov ecx, dword [0x2b52604]
push ecx
call fcn.10020a10
add esp, 0x14
mov dword [0x2b52604], eax
cmp dword [0x2b52604], 0
je 0x1005f01e
cmp dword [ebp - 0x2794], 0
jne 0x1005f020
jmp 0x1005f037
mov edx, dword [ebp - 0x2660]
add edx, dword [ebp - 0x2794]
mov dword [ebp - 0x2660], edx
jmp 0x1005efa4
cmp dword [0x2b52604], 0
jne 0x1005f066
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ecx], 0
push 0x2b2261c
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
call fcn.100cdd50
add esp, 8
xor eax, eax
jmp 0x1006194c
mov ecx, 0x24
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [eax + 0x34]
xor ebx, dword [edx + ecx]
and ebx, 0x40
neg ebx
sbb ebx, ebx
neg ebx
movzx ecx, bl
test ecx, ecx
je 0x1005f0b9
push pe_nt_image_headers32
lea edx, [ebp - 0x2774]
push edx
mov eax, dword [0x2b45ae0]
push eax
call fcn.100be650
add esp, 0xc
push eax
call dword [0x2b1f1f4]
call fcn.10065c90
neg eax
sbb eax, eax
and eax, 2
add eax, 1
mov ecx, dword [0x2b52604]
imul eax, dword [ecx]
mov dword [ebp - 0x2670], eax
mov edx, dword [0x2b52604]
add edx, 4
mov dword [0x2b52604], edx
mov eax, dword [ebp - 0x2670]
imul eax, eax, 3
lea ecx, [eax*4 + 0x10000]
mov dword [ebp - 0x277c], ecx
cmp dword [ebp - 0x277c], 0xffff
jae 0x1005f114
mov dword [ebp - 0x5494], 0xffff
jmp 0x1005f120
mov edx, dword [ebp - 0x277c]
mov dword [ebp - 0x5494], edx
mov eax, dword [ebp - 0x5494]
push eax
call fcn.100cb3fb
add esp, 4
mov dword [ebp - 0x5198], eax
mov ecx, dword [ebp - 0x5198]
mov dword [ebp - 0x278c], ecx
mov edx, dword [ebp - 0x278c]
mov dword [ebp - 0x2778], edx
mov eax, 1
test eax, eax
je 0x1005f1df
cmp dword [ebp - 0x277c], 0xffff
jae 0x1005f172
mov dword [ebp - 0x5498], 0xffff
jmp 0x1005f17e
mov ecx, dword [ebp - 0x277c]
mov dword [ebp - 0x5498], ecx
mov edx, dword [ebp - 0x5498]
mov dword [ebp - 0x2798], edx
push 0
mov eax, dword [ebp - 0x248c]
push eax
lea ecx, [ebp - 0x2798]
push ecx
mov edx, dword [ebp - 0x2778]
push edx
mov eax, dword [0x2b52604]
push eax
call fcn.10020a10
add esp, 0x14
mov dword [0x2b52604], eax
cmp dword [0x2b52604], 0
je 0x1005f1c6
cmp dword [ebp - 0x2798], 0
jne 0x1005f1c8
jmp 0x1005f1df
mov ecx, dword [ebp - 0x2778]
add ecx, dword [ebp - 0x2798]
mov dword [ebp - 0x2778], ecx
jmp 0x1005f14d
cmp dword [0x2b52604], 0
jne 0x1005f20e
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [eax], 0
push 0x2b2260c
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
push edx
call fcn.100cdd50
add esp, 8
xor eax, eax
jmp 0x1006194c
call dword [0x2b1f334]
mov dword [ebp - 0x266c], eax
mov eax, dword [ebp - 0x278c]
mov dword [ebp - 0x2668], eax
mov esi, dword [ebp - 0x2670]
imul esi, esi, 3
call fcn.10065c90
neg eax
sbb eax, eax
and eax, 2
add eax, 1
imul esi, eax
mov ecx, dword [ebp - 0x2668]
lea edx, [ecx + esi*4]
mov dword [ebp - 0x2790], edx
mov eax, dword [ebp - 0x2670]
lea eax, [eax*4 + 4]
xor ecx, ecx
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.100cb3fb
add esp, 4
mov dword [ebp - 0x519c], eax
mov eax, dword [ebp - 0x519c]
mov dword [ebp - 0x25b0], eax
mov ecx, dword [ebp - 0x25b0]
mov dword [ebp - 0x2780], ecx
mov edx, dword [ebp - 0x2668]
cmp edx, dword [ebp - 0x2790]
jae 0x1005f3cb
mov eax, dword [ebp - 0x2668]
mov ecx, dword [eax]
mov dword [ebp - 0x27a0], ecx
mov edx, dword [ebp - 0x2668]
add edx, 4
mov dword [ebp - 0x2668], edx
mov eax, dword [ebp - 0x2668]
mov ecx, dword [eax]
mov dword [ebp - 0x27a4], ecx
mov edx, dword [ebp - 0x2668]
add edx, 4
mov dword [ebp - 0x2668], edx
mov eax, dword [ebp - 0x2668]
mov ecx, dword [eax]
mov dword [ebp - 0x279c], ecx
mov edx, dword [ebp - 0x2668]
add edx, 4
mov dword [ebp - 0x2668], edx
mov eax, dword [0x2b52618]
add eax, dword [ebp - 0x27a4]
mov ecx, dword [ebp - 0x27a0]
mov edx, dword [ebp - 0x2598]
lea ecx, [edx + ecx + 4]
sub eax, ecx
mov dword [ebp - 0x27a8], eax
mov edx, dword [ebp - 0x2598]
add edx, dword [ebp - 0x27a0]
mov eax, dword [ebp - 0x2780]
mov dword [eax], edx
mov ecx, dword [ebp - 0x2780]
add ecx, 4
mov dword [ebp - 0x2780], ecx
mov edx, dword [ebp - 0x2780]
mov eax, dword [ebp - 0x27a8]
mov dword [edx], eax
mov ecx, dword [ebp - 0x2780]
add ecx, 4
mov dword [ebp - 0x2780], ecx
mov edx, dword [ebp - 0x27a0]
mov eax, dword [ebp - 0x2598]
lea ecx, [eax + edx + 4]
mov edx, dword [ebp - 0x279c]
mov eax, dword [0x2b52618]
lea edx, [eax + edx + 4]
sub ecx, edx
mov dword [ebp - 0x27a8], ecx
mov eax, dword [0x2b52618]
add eax, dword [ebp - 0x279c]
mov ecx, dword [ebp - 0x2780]
mov dword [ecx], eax
mov edx, dword [ebp - 0x2780]
add edx, 4
mov dword [ebp - 0x2780], edx
mov eax, dword [ebp - 0x2780]
mov ecx, dword [ebp - 0x27a8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x2780]
add edx, 4
mov dword [ebp - 0x2780], edx
jmp 0x1005f294
mov eax, dword [ebp - 0x2780]
mov dword [eax], 0
mov ecx, dword [ebp - 0x2780]
add ecx, 4
mov dword [ebp - 0x2780], ecx
call dword [0x2b1f334]
mov edx, dword [ebp - 0x278c]
mov dword [ebp - 0x51a0], edx
mov eax, dword [ebp - 0x51a0]
push eax
call fcn.100cdcba
add esp, 4
mov dword [0x2b454a8], 0x2b22604
mov dword [ebp - 0x2614], 0x2aacb10
mov dword [ebp - 0x2610], 0x2aaca00
mov dword [ebp - 0x260c], 0x2aaca30
mov dword [ebp - 0x2608], 0x2aacb50
mov dword [ebp - 0x2604], 0x2aaca50
mov dword [ebp - 0x2600], 0x2aaca60
mov dword [ebp - 0x25fc], 0x2aaca70
mov dword [ebp - 0x25f8], 0x2aaca80
mov dword [ebp - 0x25f4], 0x2aacac0
mov dword [ebp - 0x25f0], 0x2aacb00
mov dword [ebp - 0x25ec], 0x2aacb10
mov dword [ebp - 0x25e8], 0x2aaca00
mov dword [ebp - 0x25e4], 0x2aaca30
mov dword [ebp - 0x25e0], 0x2aacb50
mov dword [ebp - 0x25dc], 0x2aaca70
mov dword [ebp - 0x25d8], 0x2aaca50
mov dword [ebp - 0x25d4], 0x2aaca60
mov dword [ebp - 0x25d0], 0x2aaca80
mov dword [ebp - 0x25cc], 0x2aacac0
mov dword [ebp - 0x25c8], 0x2aacbb0
mov dword [ebp - 0x2630], 0
mov dword [ebp - 0x2590], 0
mov dword [ebp - 0x265c], 0
mov dword [ebp - 0x2658], 0
mov ecx, 0x20
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [eax + 0x34]
xor ebx, dword [edx + ecx]
and ebx, 0x400000
neg ebx
sbb ebx, ebx
neg ebx
movzx ecx, bl
test ecx, ecx
je 0x1005f80c
mov dword [0x2b454a8], 0x2b225fc
mov edx, dword [0x2b52604]
mov eax, dword [edx]
mov dword [ebp - 0x2590], eax
mov ecx, dword [0x2b52604]
add ecx, 4
mov dword [0x2b52604], ecx
call fcn.10065c90
mov ecx, eax
neg ecx
sbb ecx, ecx
neg ecx
add ecx, 1
mov edx, dword [0x2b52604]
mov eax, dword [edx]
xor edx, edx
div ecx
mov dword [ebp - 0x265c], eax
mov eax, dword [0x2b52604]
add eax, 4
mov dword [0x2b52604], eax
xor ecx, ecx
mov eax, dword [ebp - 0x265c]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.100cb3fb
add esp, 4
mov dword [ebp - 0x51a4], eax
mov eax, dword [ebp - 0x51a4]
mov dword [ebp - 0x2630], eax
push 0x14
call fcn.100cdf54
add esp, 4
mov dword [ebp - 0x51ac], eax
mov dword [ebp - 4], 1
cmp dword [ebp - 0x51ac], 0
je 0x1005f634
mov ecx, dword [0x2b5292c]
mov dword [ebp - 0x5304], ecx
mov edx, dword [ebp - 0x51ac]
mov eax, dword [ebp - 0x2630]
mov dword [edx], eax
mov ecx, dword [ebp - 0x265c]
shl ecx, 2
mov edx, dword [ebp - 0x51ac]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x51ac]
mov byte [eax + 0xc], 0
mov ecx, dword [ebp - 0x51ac]
mov edx, dword [ebp - 0x5304]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0x51ac]
mov dword [ebp - 0x549c], eax
jmp 0x1005f63e
mov dword [ebp - 0x549c], 0
mov ecx, dword [ebp - 0x549c]
mov dword [ebp - 0x51a8], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x51a8]
mov dword [0x2b5292c], edx
mov eax, dword [0x2b5292c]
mov byte [eax + 0xc], 1
mov ecx, 9
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [edx + ecx]
xor eax, 0
mov dword [ebp - 0x5308], eax
mov ecx, dword [ebp - 0x5308]
mov dword [ebp - 0x27b8], ecx
mov dword [ebp - 0x27bc], 0
jmp 0x1005f6a7
mov edx, dword [ebp - 0x27bc]
add edx, 1
mov dword [ebp - 0x27bc], edx
mov eax, dword [ebp - 0x27bc]
cmp eax, dword [ebp - 0x265c]
jae 0x1005f6ec
push 0x14
lea ecx, [ebp - 0x27b8]
call fcn.100069b0
mov esi, eax
push pe_nt_image_headers32
lea ecx, [ebp - 0x27b8]
call fcn.100069b0
add eax, dword [ebp + esi*4 - 0x2614]
mov ecx, dword [ebp - 0x27bc]
mov edx, dword [ebp - 0x2630]
mov dword [edx + ecx*4], eax
jmp 0x1005f698
mov eax, dword [0x2b52604]
mov ecx, dword [eax]
mov dword [ebp - 0x27b0], ecx
mov edx, dword [0x2b52604]
add edx, 4
mov dword [0x2b52604], edx
mov eax, dword [ebp - 0x27b0]
shl eax, 2
mov dword [ebp - 0x27b4], eax
mov ecx, dword [ebp - 0x27b4]
add ecx, 0x10000
push ecx
call fcn.100cb3fb
add esp, 4
mov dword [ebp - 0x51b0], eax
mov edx, dword [ebp - 0x51b0]
mov dword [ebp - 0x2658], edx
mov eax, dword [ebp - 0x2658]
mov dword [ebp - 0x27ac], eax
mov ecx, 1
test ecx, ecx
je 0x1005f7dd
cmp dword [ebp - 0x27b4], 0xffff
jae 0x1005f76f
mov dword [ebp - 0x54a0], 0xffff
jmp 0x1005f77b
mov edx, dword [ebp - 0x27b4]
mov dword [ebp - 0x54a0], edx
mov eax, dword [ebp - 0x54a0]
mov dword [ebp - 0x27c0], eax
push 0
mov ecx, dword [ebp - 0x248c]
push ecx
lea edx, [ebp - 0x27c0]
push edx
mov eax, dword [ebp - 0x27ac]
push eax
mov ecx, dword [0x2b52604]
push ecx
call fcn.10020a10
add esp, 0x14
mov dword [0x2b52604], eax
cmp dword [0x2b52604], 0
je 0x1005f7c4
cmp dword [ebp - 0x27c0], 0
jne 0x1005f7c6
jmp 0x1005f7dd
mov edx, dword [ebp - 0x27ac]
add edx, dword [ebp - 0x27c0]
mov dword [ebp - 0x27ac], edx
jmp 0x1005f74a
cmp dword [0x2b52604], 0
jne 0x1005f80c
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ecx], 0
push 0x2b225ec
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
call fcn.100cdd50
add esp, 8
xor eax, eax
jmp 0x1006194c
mov dword [0x2b454a8], 0x2b225fc
mov ecx, 0x20
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [eax + 0x34]
xor ebx, dword [edx + ecx]
and ebx, 0x200
neg ebx
sbb ebx, ebx
neg ebx
movzx ecx, bl
test ecx, ecx
je 0x1005f950
mov dword [0x2b454a8], 0x2b225e4
call fcn.10065c90
mov ecx, eax
neg ecx
sbb ecx, ecx
and ecx, 3
add ecx, 1
mov edx, dword [0x2b52604]
mov eax, dword [edx]
xor edx, edx
div ecx
mov dword [0x2b52928], eax
mov eax, dword [0x2b52604]
add eax, 4
mov dword [0x2b52604], eax
mov ecx, dword [0x2b52928]
add ecx, 0x10000
push ecx
call fcn.100cb3fb
add esp, 4
mov dword [ebp - 0x51b4], eax
mov edx, dword [ebp - 0x51b4]
mov dword [0x2b52624], edx
mov eax, dword [0x2b52624]
mov dword [ebp - 0x27c4], eax
mov ecx, 1
test ecx, ecx
je 0x1005f950
mov edx, dword [0x2b52928]
add edx, 0x10000
mov dword [ebp - 0x27c8], edx
push 0
push 0
lea eax, [ebp - 0x27c8]
push eax
mov ecx, dword [ebp - 0x27c4]
push ecx
mov edx, dword [0x2b52604]
push edx
call fcn.10020a10
add esp, 0x14
mov dword [0x2b52604], eax
cmp dword [0x2b52604], 0
jne 0x1005f92e
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ecx], 0
push 0x2b225d4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
call fcn.100cdd50
add esp, 8
xor eax, eax
jmp 0x1006194c
cmp dword [ebp - 0x27c8], 0
jne 0x1005f939
jmp 0x1005f950
mov ecx, dword [ebp - 0x27c4]
add ecx, dword [ebp - 0x27c8]
mov dword [ebp - 0x27c4], ecx
jmp 0x1005f8ba
mov dword [0x2b454a8], 0x2b225cc
mov edx, dword [0x2b4b798]
mov dword [ebp - 0x532c], edx
mov eax, dword [ebp - 0x532c]
mov ecx, dword [eax + 0x598]
mov dword [ebp - 0x2634], ecx
call fcn.10065c90
test eax, eax
je 0x1005f99c
mov edx, 4
shl edx, 2
mov eax, dword [0x2b49854]
mov ecx, dword [eax + edx]
xor ecx, 0
mov dword [ebp - 0x54a4], ecx
jmp 0x1005f9ac
mov ecx, 0x2b49208
call fcn.100619e0
mov dword [ebp - 0x54a4], eax
mov edx, 0xa
shl edx, 2
mov eax, dword [0x2b49854]
mov ecx, dword [eax + edx]
xor ecx, 0
xor ecx, dword [ebp - 0x2634]
xor ecx, dword [ebp - 0x54a4]
mov dword [ebp - 0x25ac], ecx
mov edx, dword [0x2b4b798]
mov dword [ebp - 0x5330], edx
mov eax, dword [ebp - 0x5330]
mov ecx, dword [eax + 0x598]
mov dword [ebp - 0x5334], ecx
mov edx, dword [ebp - 0x5334]
push edx
push 0x2b20cc0
lea eax, [ebp - 0x258c]
push eax
call fcn.100cde48
add esp, 0xc
lea ecx, [ebp - 0x258c]
push ecx
lea ecx, [ebp - 0x51d0]
call fcn.1001c3d0
mov dword [ebp - 4], 2
push 0x2ab3f20
push 0x20
lea edx, [ebp - 0x51d0]
push edx
call fcn.100875b0
add esp, 0xc
mov dword [ebp - 0x25b8], eax
mov dword [ebp - 4], 0xffffffff
push 0
push 1
lea ecx, [ebp - 0x51d0]
call fcn.1001d850
mov dword [0x2b454a8], 0x2b225c4
call fcn.10065ca0
mov ecx, 0xe
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [edx + ecx]
xor eax, 0
mov dword [ebp - 0x5380], eax
mov ecx, 0x13
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [edx + ecx]
xor eax, 0
xor eax, dword [ebp - 0x5380]
mov dword [ebp - 0x5384], eax
mov ecx, dword [ebp - 0x5384]
mov dword [0x2b49840], ecx
mov edx, 1
test edx, edx
je 0x10060063
mov eax, dword [0x2b49840]
mov dword [ebp - 0x5388], eax
mov ecx, dword [0x2b52604]
mov edx, dword [ecx]
xor edx, dword [ebp - 0x5388]
mov dword [ebp - 0x27e0], edx
mov eax, dword [0x2b52604]
add eax, 4
mov dword [0x2b52604], eax
cmp dword [ebp - 0x27e0], 0
jne 0x1005faf1
jmp 0x10060063
mov ecx, dword [ebp - 0x27e0]
and ecx, 0x80000000
je 0x1005fb1d
mov edx, dword [ebp - 0x27e0]
and edx, 0x7fffffff
mov eax, dword [ebp - 0x25c4]
add edx, dword [eax + 0x88]
mov dword [ebp - 0x27e0], edx
mov ecx, dword [0x2b49840]
mov dword [ebp - 0x538c], ecx
mov edx, dword [0x2b52604]
mov eax, dword [edx]
xor eax, dword [ebp - 0x538c]
mov dword [ebp - 0x27d8], eax
mov ecx, dword [0x2b52604]
add ecx, 4
mov dword [0x2b52604], ecx
mov edx, dword [ebp - 0x27d8]
add edx, 0x10000
push edx
call fcn.100cb3fb
add esp, 4
mov dword [ebp - 0x51d4], eax
mov eax, dword [ebp - 0x51d4]
mov dword [ebp - 0x27dc], eax
mov ecx, dword [ebp - 0x27dc]
mov dword [ebp - 0x27d0], ecx
mov edx, dword [ebp - 0x27d8]
add edx, 0x10000
push edx
push 0
mov eax, dword [ebp - 0x27dc]
push eax
call fcn.100cdc40
add esp, 0xc
mov ecx, 1
test ecx, ecx
je 0x1005fc3d
mov edx, dword [ebp - 0x27d8]
add edx, 0x10000
mov dword [ebp - 0x27e4], edx
mov eax, dword [ebp - 0x25b8]
push eax
mov ecx, dword [ebp - 0x25ac]
push ecx
lea edx, [ebp - 0x27e4]
push edx
mov eax, dword [ebp - 0x27d0]
push eax
mov ecx, dword [0x2b52604]
push ecx
call fcn.10020a10
add esp, 0x14
mov dword [0x2b52604], eax
cmp dword [0x2b52604], 0
jne 0x1005fc1b
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [eax], 0
push 0x2b225b4
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
push edx
call fcn.100cdd50
add esp, 8
xor eax, eax
jmp 0x1006194c
cmp dword [ebp - 0x27e4], 0
jne 0x1005fc26
jmp 0x1005fc3d
mov eax, dword [ebp - 0x27d0]
add eax, dword [ebp - 0x27e4]
mov dword [ebp - 0x27d0], eax
jmp 0x1005fb9d
mov ecx, dword [ebp - 0x27d0]
sub ecx, dword [ebp - 0x27dc]
mov dword [ebp - 0x27d4], ecx
mov edx, dword [ebp - 0x27d4]
cmp edx, dword [ebp - 0x27d8]
jae 0x1005fc7b
mov eax, dword [ebp - 0x27d8]
sub eax, dword [ebp - 0x27d4]
push eax
push 0
mov ecx, dword [ebp - 0x27d0]
push ecx
call fcn.100cdc40
add esp, 0xc
cmp dword [ebp - 0x25b0], 0
je 0x1005fe18
mov edx, dword [ebp - 0x2598]
add edx, dword [ebp - 0x27e0]
mov eax, dword [ebp - 0x25b0]
cmp dword [eax], edx
jb 0x1005fe18
mov ecx, dword [ebp - 0x2598]
add ecx, dword [ebp - 0x27e0]
add ecx, dword [ebp - 0x27d8]
mov edx, dword [ebp - 0x25b0]
cmp dword [edx], ecx
jae 0x1005fe18
mov eax, 0x20
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [edx + 0x34]
xor ebx, dword [ecx + eax]
shr ebx, 0x18
mov byte [ebp - 0x27ed], bl
movzx eax, byte [ebp - 0x27ed]
shl eax, 0x18
movzx ecx, byte [ebp - 0x27ed]
shl ecx, 0x10
or eax, ecx
movzx edx, byte [ebp - 0x27ed]
shl edx, 8
or eax, edx
movzx ecx, byte [ebp - 0x27ed]
or eax, ecx
mov dword [ebp - 0x27ec], eax
mov edx, dword [ebp - 0x25b0]
mov dword [ebp - 0x27e8], edx
mov eax, dword [ebp - 0x27e8]
cmp dword [eax], 0
je 0x1005fe18
mov ecx, dword [ebp - 0x27e8]
mov edx, dword [ecx]
mov dword [ebp - 0x27f4], edx
mov eax, dword [ebp - 0x27e8]
add eax, 4
mov dword [ebp - 0x27e8], eax
mov ecx, dword [ebp - 0x27e8]
mov edx, dword [ecx]
mov dword [ebp - 0x27f8], edx
mov eax, dword [ebp - 0x27e8]
add eax, 4
mov dword [ebp - 0x27e8], eax
mov ecx, dword [ebp - 0x2598]
add ecx, dword [ebp - 0x27e0]
cmp dword [ebp - 0x27f4], ecx
jbe 0x1005fe05
mov edx, dword [ebp - 0x2598]
add edx, dword [ebp - 0x27e0]
add edx, dword [ebp - 0x27d8]
cmp dword [ebp - 0x27f4], edx
jae 0x1005fe05
mov eax, dword [ebp - 0x2598]
add eax, dword [ebp - 0x27e0]
mov ecx, dword [ebp - 0x27f4]
sub ecx, eax
mov dword [ebp - 0x27fc], ecx
mov dl, byte [0x2b4982c]
mov byte [ebp - 0x538d], dl
movzx eax, byte [ebp - 0x538d]
test eax, eax
je 0x1005fdef
mov ecx, dword [ebp - 0x27f8]
xor ecx, dword [ebp - 0x27ec]
mov edx, dword [ebp - 0x27dc]
add edx, dword [ebp - 0x27fc]
mov dword [edx], ecx
jmp 0x1005fe03
mov eax, dword [ebp - 0x27dc]
add eax, dword [ebp - 0x27fc]
mov ecx, dword [ebp - 0x27f8]
mov dword [eax], ecx
jmp 0x1005fe13
mov edx, dword [ebp - 0x27f4]
mov eax, dword [ebp - 0x27f8]
mov dword [edx], eax
jmp 0x1005fd2b
mov ecx, dword [ebp - 0x27e0]
cmp ecx, dword [ebp - 0x20]
jb 0x1005ff8e
mov edx, dword [ebp - 0x27e0]
cmp edx, dword [ebp - 0x18]
jae 0x1005ff8e
mov al, byte [0x2b4982c]
mov byte [ebp - 0x538e], al
movzx ecx, byte [ebp - 0x538e]
test ecx, ecx
je 0x1005ff8e
call fcn.10065c90
mov dword [ebp - 0x2804], eax
mov edx, dword [ebp - 0x27dc]
mov dword [ebp - 0x27d0], edx
mov dword [ebp - 0x2800], 0
mov eax, dword [ebp - 0x27dc]
add eax, dword [ebp - 0x27d4]
cmp dword [ebp - 0x27d0], eax
jae 0x1005ff8e
mov ecx, dword [ebp - 0x2800]
and ecx, 0x80000007
jns 0x1005fe9c
dec ecx
or ecx, 0xfffffff8
inc ecx
movzx edx, byte [ecx + 0x2b21fe4]
mov eax, dword [0x2b49854]
mov ecx, dword [eax + edx*4]
xor ecx, 0
mov dword [ebp - 0x5394], ecx
mov edx, dword [ebp - 0x2800]
and edx, 0x80000007
jns 0x1005fec7
dec edx
or edx, 0xfffffff8
inc edx
movzx eax, byte [edx + 0x2b21fe5]
mov ecx, dword [0x2b49854]
mov edx, dword [ecx + eax*4]
xor edx, 0
mov dword [ebp - 0x5398], edx
mov eax, dword [ebp - 0x2800]
and eax, 0x80000007
jns 0x1005fef2
dec eax
or eax, 0xfffffff8
inc eax
movzx ecx, byte [eax + 0x2b21fe6]
mov edx, dword [0x2b49854]
mov eax, dword [edx + ecx*4]
xor eax, 0
mov dword [ebp - 0x539c], eax
push 0
mov esi, dword [ebp - 0x2800]
shl esi, 4
mov edi, dword [ebp - 0x5394]
xor edi, dword [ebp - 0x5398]
xor edi, dword [ebp - 0x539c]
mov eax, dword [ebp - 0x2800]
cdq
mov ecx, 0x1c
idiv ecx
mov ecx, edx
shr edi, cl
and edi, 0xf
add esi, edi
mov ecx, 0x2b49208
call fcn.1005d3c0
mov edx, dword [0x2b52614]
xor eax, dword [edx + esi*4]
xor eax, dword [ebp - 0x2804]
push eax
mov eax, dword [ebp - 0x27d0]
push eax
call fcn.10063930
add esp, 0xc
mov ecx, dword [ebp - 0x2800]
add ecx, 1
mov dword [ebp - 0x2800], ecx
mov edx, dword [ebp - 0x27d0]
add edx, 0x1000
mov dword [ebp - 0x27d0], edx
jmp 0x1005fe71
mov eax, dword [ebp - 0x27e0]
and eax, 0xfff
jne 0x1005ffcb
mov ecx, dword [ebp - 0x27d8]
and ecx, 0xfff
je 0x1005ffcb
mov eax, dword [ebp - 0x27d8]
xor edx, edx
mov ecx, 0x1000
div ecx
mov eax, 0x1000
sub eax, edx
add eax, dword [ebp - 0x27d8]
mov dword [ebp - 0x27d8], eax
mov dword [ebp - 0x27cc], 4
lea ecx, [ebp - 0x27cc]
push ecx
push 4
mov edx, dword [ebp - 0x27d8]
push edx
mov eax, dword [ebp - 0x2598]
add eax, dword [ebp - 0x27e0]
push eax
call dword [0x2b1f114]
mov ecx, dword [ebp - 0x27d8]
push ecx
mov edx, dword [ebp - 0x27dc]
push edx
mov eax, dword [ebp - 0x2598]
add eax, dword [ebp - 0x27e0]
push eax
call fcn.100cd4d0
add esp, 0xc
lea ecx, [ebp - 0x27cc]
push ecx
mov edx, dword [ebp - 0x27cc]
push edx
mov eax, dword [ebp - 0x27d8]
push eax
mov ecx, dword [ebp - 0x2598]
add ecx, dword [ebp - 0x27e0]
push ecx
call dword [0x2b1f114]
mov edx, dword [ebp - 0x27dc]
mov dword [ebp - 0x51d8], edx
mov eax, dword [ebp - 0x51d8]
push eax
call fcn.100cdcba
add esp, 4
jmp 0x1005faaa
mov dword [0x2b49840], 0
cmp dword [ebp - 0x2594], 0
je 0x100600ad
lea ecx, [ebp - 0x2808]
push ecx
push 0x20
mov edx, dword [ebp - 0x2594]
push edx
mov eax, dword [0x2b52618]
push eax
call dword [0x2b1f114]
mov ecx, dword [ebp - 0x25b0]
mov dword [ebp - 0x51dc], ecx
mov edx, dword [ebp - 0x51dc]
push edx
call fcn.100cdcba
add esp, 4
mov dword [ebp - 0x264c], 0
lea eax, [ebp - 0x2654]
push eax
push 0x2a83fd0
call dword [0x2b55874]
add esp, 8
mov ecx, 0x20
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [eax + 0x34]
xor ebx, dword [edx + ecx]
and ebx, 0x80
neg ebx
sbb ebx, ebx
neg ebx
movzx ecx, bl
test ecx, ecx
je 0x10060159
mov edx, 0x20
shl edx, 2
mov eax, dword [0x2b49854]
mov ecx, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [ecx + 0x34]
xor ebx, dword [eax + edx]
and ebx, 0x10
neg ebx
sbb ebx, ebx
neg ebx
movzx edx, bl
test edx, edx
je 0x10060159
mov dword [ebp - 0x28a4], 0x94
lea eax, [ebp - 0x28a4]
push eax
call dword [0x2b1f0ec]
cmp dword [ebp - 0x2894], 2
je 0x10060159
cli
not esp
not esp
sti
mov dword [0x2b454a8], 0x2b225ac
mov ecx, dword [0x2b52604]
mov edx, dword [ecx]
mov dword [ebp - 0x25a8], edx
mov eax, dword [0x2b52604]
add eax, 4
mov dword [0x2b52604], eax
call fcn.10065c90
test eax, eax
je 0x10060197
mov ecx, dword [ebp - 0x25a8]
shr ecx, 1
mov dword [ebp - 0x54a8], ecx
jmp 0x100601a9
mov edx, dword [ebp - 0x25a8]
add edx, 0x10000
mov dword [ebp - 0x54a8], edx
mov eax, dword [ebp - 0x54a8]
push eax
call fcn.100cb3fb
add esp, 4
mov dword [ebp - 0x51e0], eax
mov ecx, dword [ebp - 0x51e0]
mov dword [ebp - 0x2484], ecx
mov edx, 8
shl edx, 2
mov eax, dword [0x2b49854]
mov ecx, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov edi, dword [0x2b49854]
mov edi, dword [edi + 0x38]
xor edi, dword [esi + 0x54]
xor edi, dword [ecx + 0x4c]
xor edi, dword [eax + edx]
mov dword [ebp - 0x25c0], edi
mov dword [0x2b454a8], 0x2b225a4
mov ecx, 0x2b49208
call fcn.10061970
mov esi, eax
xor esi, dword [ebp - 0x25c0]
call fcn.10065c90
xor esi, eax
mov dword [ebp - 0x2648], esi
mov dword [0x2b454a8], 0x2b2259c
mov edx, dword [ebp - 0x2484]
mov dword [ebp - 0x2480], edx
mov eax, 1
test eax, eax
je 0x100602e9
mov ecx, dword [ebp - 0x25a8]
add ecx, 0x10000
mov dword [ebp - 0x28a8], ecx
mov dword [0x2b454a8], 0x2b22594
push 0
mov edx, dword [ebp - 0x2648]
push edx
lea eax, [ebp - 0x28a8]
push eax
mov ecx, dword [ebp - 0x2480]
push ecx
mov edx, dword [0x2b52604]
push edx
call fcn.10020a10
add esp, 0x14
mov dword [0x2b52604], eax
mov dword [0x2b454a8], 0x2b2258c
cmp dword [0x2b52604], 0
jne 0x100602c7
mov eax, dword [ebp + 8]
mov ecx, dword [eax]
mov dword [ecx], 0
push 0x2b2257c
mov edx, dword [ebp + 8]
mov eax, dword [edx + 4]
push eax
call fcn.100cdd50
add esp, 8
xor eax, eax
jmp 0x1006194c
cmp dword [ebp - 0x28a8], 0
jne 0x100602d2
jmp 0x100602e9
mov ecx, dword [ebp - 0x2480]
add ecx, dword [ebp - 0x28a8]
mov dword [ebp - 0x2480], ecx
jmp 0x1006023a
mov dword [0x2b454a8], 0x2b22574
mov dword [0x2b454a8], 0x2b2256c
mov dword [0x2b454a8], 0x2b22564
mov byte [ebp - 0x2641], 0
mov edx, 3
shl edx, 2
mov eax, dword [0x2b49854]
mov ecx, dword [eax + edx]
xor ecx, 0
mov dword [ebp - 0x53a0], ecx
mov edx, dword [ebp - 0x53a0]
mov dword [ebp - 0x25b4], edx
mov eax, 0x15
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [ecx + eax]
xor edx, 0
imul edx, edx, 0xa
add edx, 1
mov dword [ebp - 0x53a4], edx
mov eax, dword [ebp - 0x53a4]
mov dword [ebp - 0x2640], eax
mov ecx, dword [ebp - 0x2484]
mov dword [ebp - 0x2480], ecx
mov dword [ebp - 0x2488], 0
mov dword [ebp - 0x25bc], 0
mov dword [ebp - 0x25a4], 0xffffffff
mov edx, 1
test edx, edx
je 0x10060d75
mov eax, dword [ebp - 0x2480]
mov dword [ebp - 0x29d0], eax
push 0
mov ecx, dword [ebp - 0x2480]
push ecx
call fcn.100cfdf0
add esp, 8
add eax, 1
mov dword [ebp - 0x2480], eax
mov edx, dword [ebp - 0x29d0]
movsx eax, byte [edx]
test eax, eax
jne 0x100603ce
jmp 0x10060d75
mov ecx, dword [ebp - 0x2480]
mov edx, dword [ecx]
mov dword [ebp - 0x29d4], edx
mov eax, dword [ebp - 0x2480]
add eax, 4
mov dword [ebp - 0x2480], eax
mov ecx, dword [ebp - 0x2480]
mov edx, dword [ecx]
mov dword [ebp - 0x28b4], edx
mov eax, dword [ebp - 0x2480]
add eax, 4
mov dword [ebp - 0x2480], eax
mov cl, byte [0x2b1fd05]
mov byte [ebp - 0x29cc], cl
push 0x103
push 0
lea edx, [ebp - 0x29cb]
push edx
call fcn.100cdc40
add esp, 0xc
mov eax, 0x24
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [edx + 0x34]
xor ebx, dword [ecx + eax]
and ebx, 0x80
neg ebx
sbb ebx, ebx
neg ebx
movzx eax, bl
test eax, eax
je 0x1006048d
push 0x2b21ab4
mov ecx, dword [ebp - 0x29d0]
push ecx
call fcn.100df51d
add esp, 8
test eax, eax
jne 0x1006048d
mov edx, dword [ebp - 0x29d0]
push edx
call dword [0x2b1f0b0]
mov dword [ebp - 0x28c0], eax
jmp 0x1006049f
mov eax, dword [ebp - 0x29d0]
push eax
call fcn.10045e60
mov dword [ebp - 0x28c0], eax
cmp dword [ebp - 0x28c0], 0
jne 0x10060552
cmp dword [ebp - 0x28c0], 0
jne 0x10060515
push 1
lea ecx, [ebp - 0x2adc]
push ecx
call fcn.10054680
add esp, 8
push 0x5c
lea edx, [ebp - 0x2adc]
push edx
call fcn.100d04c0
add esp, 8
mov dword [ebp - 0x2ae0], eax
cmp dword [ebp - 0x2ae0], 0
je 0x10060515
mov eax, dword [ebp - 0x29d0]
push eax
mov ecx, dword [ebp - 0x2ae0]
add ecx, 1
push ecx
call fcn.100cdd50
add esp, 8
push 8
push 0
lea edx, [ebp - 0x2adc]
push edx
call fcn.100462a0
mov dword [ebp - 0x28c0], eax
cmp dword [ebp - 0x28c0], 0
jne 0x10060552
push 1
lea eax, [ebp - 0x2adc]
push eax
call fcn.10054680
add esp, 8
lea ecx, [ebp - 0x2adc]
push ecx
lea edx, [ebp - 0x29cc]
push edx
mov eax, dword [ebp - 0x29d0]
push eax
call fcn.100458b0
add esp, 0xc
mov dword [ebp - 0x28c0], eax
cmp dword [ebp - 0x28c0], 0
jne 0x100605b4
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [edx], 3
movsx eax, byte [ebp - 0x29cc]
test eax, eax
je 0x1006057f
lea ecx, [ebp - 0x29cc]
mov dword [ebp - 0x54ac], ecx
jmp 0x1006058b
mov edx, dword [ebp - 0x29d0]
mov dword [ebp - 0x54ac], edx
call dword [0x2b1f348]
push eax
mov eax, dword [ebp - 0x54ac]
push eax
push 0x2b22550
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
push edx
call fcn.100cde48
add esp, 0x10
xor eax, eax
jmp 0x1006194c
mov eax, dword [ebp - 0x28c0]
push eax
call fcn.10043980
add esp, 4
mov dword [ebp - 0x28c4], 0
mov ecx, dword [0x2b49878]
mov dword [ebp - 0x53a8], ecx
mov edx, dword [ebp - 0x28c0]
cmp edx, dword [ebp - 0x53a8]
jne 0x100605f6
mov dword [ebp - 0x28c4], 0x2b44cf8
jmp 0x100606ce
mov dword [ebp - 0x2ae4], 0
mov dword [ebp - 0x2ae8], 0x2b44fbc
jmp 0x1006062a
mov eax, dword [ebp - 0x2ae8]
add eax, 0xc
mov dword [ebp - 0x2ae8], eax
mov ecx, dword [ebp - 0x2ae4]
add ecx, 1
mov dword [ebp - 0x2ae4], ecx
mov edx, dword [ebp - 0x2ae8]
cmp dword [edx], 0
je 0x100606ce
mov eax, dword [ebp - 0x2ae8]
mov ecx, dword [eax + 8]
and ecx, 1
je 0x1006067e
mov edx, 0x20
shl edx, 2
mov eax, dword [0x2b49854]
mov ecx, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [ecx + 0x34]
xor ebx, dword [eax + edx]
and ebx, 0x80
neg ebx
sbb ebx, ebx
neg ebx
movzx edx, bl
test edx, edx
je 0x1006067e
jmp 0x1006060c
mov eax, dword [0x2b49854]
mov ecx, dword [0x2b49854]
mov edx, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov esi, dword [esi + 0x38]
xor esi, dword [edx + 0x34]
xor esi, dword [ecx + 0x68]
xor esi, dword [eax + 0xc]
mov eax, dword [ebp - 0x2ae4]
mov ecx, dword [0x2b4ca4c]
xor esi, dword [ecx + eax*4]
cmp dword [ebp - 0x28c0], esi
jne 0x100606c9
mov edx, dword [ebp - 0x2ae8]
mov eax, dword [edx + 4]
mov dword [ebp - 0x28c4], eax
jmp 0x100606ce
jmp 0x1006060c
mov byte [ebp - 0x28b5], 0
cmp dword [ebp - 0x2630], 0
jne 0x10060712
mov cl, byte [0x2b4982c]
mov byte [ebp - 0x53a9], cl
movzx edx, byte [ebp - 0x53a9]
test edx, edx
je 0x10060712
mov eax, dword [ebp - 0x29d4]
cmp eax, dword [ebp - 0x20]
jb 0x10060712
mov ecx, dword [ebp - 0x29d4]
cmp ecx, dword [ebp - 0x18]
jae 0x10060712
mov byte [ebp - 0x28b5], 1
mov edx, dword [ebp - 0x28b4]
add edx, 1
mov dword [ebp - 0x28b4], edx
cmp dword [ebp - 0x2630], 0
je 0x10060777
mov eax, dword [ebp - 0x29d4]
sub eax, dword [ebp - 0x2590]
shr eax, 2
mov dword [ebp - 0x2aec], eax
mov ecx, dword [ebp - 0x2aec]
mov edx, dword [ebp - 0x2630]
lea eax, [edx + ecx*4]
mov dword [ebp - 0x25bc], eax
mov ecx, dword [ebp - 0x25bc]
mov dword [ebp - 0x2488], ecx
mov edx, dword [ebp - 0x265c]
mov eax, dword [ebp - 0x2630]
lea ecx, [eax + edx*4]
mov dword [ebp - 0x25a4], ecx
jmp 0x100607df
movzx edx, byte [ebp - 0x28b5]
test edx, edx
je 0x100607c1
xor ecx, ecx
mov eax, dword [ebp - 0x28b4]
mov edx, 4
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.100cb3fb
add esp, 4
mov dword [ebp - 0x51e4], eax
mov eax, dword [ebp - 0x51e4]
mov dword [ebp - 0x25bc], eax
mov ecx, dword [ebp - 0x25bc]
mov dword [ebp - 0x2488], ecx
jmp 0x100607df
mov edx, dword [ebp - 0x2598]
add edx, dword [ebp - 0x29d4]
mov dword [ebp - 0x2488], edx
mov eax, dword [ebp - 0x2488]
mov dword [ebp - 0x25bc], eax
cmp dword [ebp - 0x2630], 0
jne 0x100608c2
lea ecx, [ebp - 0x28b0]
push ecx
push 4
mov edx, dword [ebp - 0x28b4]
shl edx, 2
push edx
mov eax, dword [ebp - 0x2598]
add eax, dword [ebp - 0x29d4]
push eax
call dword [0x2b1f114]
push 0x14
call fcn.100cdf54
add esp, 4
mov dword [ebp - 0x51ec], eax
mov dword [ebp - 4], 3
cmp dword [ebp - 0x51ec], 0
je 0x1006088b
mov ecx, dword [0x2b5292c]
mov dword [ebp - 0x53b0], ecx
mov edx, dword [ebp - 0x2598]
add edx, dword [ebp - 0x29d4]
mov eax, dword [ebp - 0x51ec]
mov dword [eax], edx
mov ecx, dword [ebp - 0x28b4]
shl ecx, 2
mov edx, dword [ebp - 0x51ec]
mov dword [edx + 4], ecx
mov eax, dword [ebp - 0x51ec]
mov byte [eax + 0xc], 0
mov ecx, dword [ebp - 0x51ec]
mov edx, dword [ebp - 0x53b0]
mov dword [ecx + 0x10], edx
mov eax, dword [ebp - 0x51ec]
mov dword [ebp - 0x54b0], eax
jmp 0x10060895
mov dword [ebp - 0x54b0], 0
mov ecx, dword [ebp - 0x54b0]
mov dword [ebp - 0x51e8], ecx
mov dword [ebp - 4], 0xffffffff
mov edx, dword [ebp - 0x51e8]
mov dword [0x2b5292c], edx
mov eax, dword [0x2b5292c]
mov ecx, dword [ebp - 0x28b0]
mov dword [eax + 8], ecx
mov dword [ebp - 0x28ac], 0
call dword [0x2b1f334]
mov dword [ebp - 0x28bc], eax
mov edx, 1
test edx, edx
je 0x10060cab
mov eax, dword [ebp - 0x2480]
mov cx, word [eax]
mov word [ebp - 0x2af0], cx
mov edx, dword [ebp - 0x2480]
add edx, 2
mov dword [ebp - 0x2480], edx
movzx eax, word [ebp - 0x2af0]
push eax
mov ecx, dword [ebp - 0x2480]
push ecx
lea edx, [ebp - 0x32f4]
push edx
call fcn.100cd4d0
add esp, 0xc
movzx eax, word [ebp - 0x2af0]
add eax, dword [ebp - 0x2480]
mov dword [ebp - 0x2480], eax
mov word [ebp - 0x3b00], 0
mov cl, byte [0x2b1fd05]
mov byte [ebp - 0x3afc], cl
push 0x7ff
push 0
lea edx, [ebp - 0x3afb]
push edx
call fcn.100cdc40
add esp, 0xc
movzx eax, word [ebp - 0x2af0]
test eax, eax
je 0x100609dc
lea ecx, [ebp - 0x2640]
call fcn.10014b10
mov dword [ebp - 0x3b04], eax
push 0
movzx ecx, word [ebp - 0x2af0]
push ecx
lea edx, [ebp - 0x32f4]
push edx
mov eax, dword [ebp - 0x3b04]
push eax
call fcn.10085ce0
add esp, 0x10
movzx ecx, byte [ebp - 0x32f4]
cmp ecx, 0xff
jne 0x100609bb
mov dx, word [ebp - 0x32f3]
mov word [ebp - 0x3b00], dx
jmp 0x100609dc
movsx eax, byte [ebp - 0x32f4]
test eax, eax
je 0x100609dc
lea ecx, [ebp - 0x32f4]
push ecx
lea edx, [ebp - 0x3afc]
push edx
call fcn.100cdd50
add esp, 8
mov dword [ebp - 0x32f8], 0
movzx eax, word [ebp - 0x3b00]
test eax, eax
je 0x10060a5f
cmp dword [ebp - 0x28c4], 0
je 0x10060a4b
mov ecx, dword [ebp - 0x28c4]
mov dword [ebp - 0x3b08], ecx
jmp 0x10060a17
mov edx, dword [ebp - 0x3b08]
add edx, 0xc
mov dword [ebp - 0x3b08], edx
mov eax, dword [ebp - 0x3b08]
cmp dword [eax + 8], 0
je 0x10060a4b
movzx ecx, word [ebp - 0x3b00]
mov edx, dword [ebp - 0x3b08]
movzx eax, word [edx + 4]
cmp ecx, eax
jne 0x10060a49
mov ecx, dword [ebp - 0x3b08]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x32f8], edx
jmp 0x10060a4b
jmp 0x10060a08
mov eax, dword [ebp - 0x28ac]
add eax, 1
mov dword [ebp - 0x28ac], eax
jmp 0x10060b39
movsx ecx, byte [ebp - 0x3afc]
test ecx, ecx
je 0x10060afb
cmp dword [ebp - 0x28c4], 0
je 0x10060aea
mov edx, dword [ebp - 0x28c4]
mov dword [ebp - 0x3b0c], edx
jmp 0x10060a94
mov eax, dword [ebp - 0x3b0c]
add eax, 0xc
mov dword [ebp - 0x3b0c], eax
mov ecx, dword [ebp - 0x3b0c]
cmp dword [ecx + 8], 0
je 0x10060aea
push pe_nt_image_headers32
lea edx, [ebp - 0x3c0c]
push edx
mov eax, dword [ebp - 0x3b0c]
mov ecx, dword [eax]
push ecx
call fcn.100be650
add esp, 0xc
lea edx, [ebp - 0x3c0c]
push edx
lea eax, [ebp - 0x3afc]
push eax
call fcn.100df51d
add esp, 8
test eax, eax
jne 0x10060ae8
mov ecx, dword [ebp - 0x3b0c]
mov edx, dword [ecx + 8]
mov dword [ebp - 0x32f8], edx
jmp 0x10060aea
jmp 0x10060a85
mov eax, dword [ebp - 0x28ac]
add eax, 1
mov dword [ebp - 0x28ac], eax
jmp 0x10060b39
push pe_nt_image_headers32
lea ecx, [ebp - 0x25b4]
call fcn.100069b0
movzx eax, al
cdq
mov ecx, 0x14
idiv ecx
mov eax, dword [ebp - 0x25bc]
mov ecx, dword [ebp + edx*4 - 0x2614]
mov dword [eax], ecx
mov edx, dword [ebp - 0x25bc]
add edx, 4
mov dword [ebp - 0x25bc], edx
jmp 0x10060cab
cmp dword [ebp - 0x32f8], 0
jne 0x10060b86
movzx eax, word [ebp - 0x3b00]
test eax, eax
je 0x10060b5c
movzx ecx, word [ebp - 0x3b00]
mov dword [ebp - 0x54b4], ecx
jmp 0x10060b68
lea edx, [ebp - 0x3afc]
mov dword [ebp - 0x54b4], edx
push 1
mov eax, dword [ebp - 0x54b4]
push eax
mov ecx, dword [ebp - 0x28c0]
push ecx
call fcn.10044930
add esp, 0xc
mov dword [ebp - 0x32f8], eax
cmp dword [ebp - 0x32f8], 0
jne 0x10060bd3
movzx edx, word [ebp - 0x3b00]
test edx, edx
je 0x10060ba9
movzx eax, word [ebp - 0x3b00]
mov dword [ebp - 0x54b8], eax
jmp 0x10060bb5
lea ecx, [ebp - 0x3afc]
mov dword [ebp - 0x54b8], ecx
push 0
mov edx, dword [ebp - 0x54b8]
push edx
mov eax, dword [ebp - 0x28c0]
push eax
call fcn.10044930
add esp, 0xc
mov dword [ebp - 0x32f8], eax
cmp dword [ebp - 0x32f8], 0
jne 0x10060c7b
movzx ecx, word [ebp - 0x3b00]
test ecx, ecx
je 0x10060c40
call dword [0x2b1f348]
cmp eax, 0x32
jne 0x10060c02
mov dword [ebp - 0x32f8], 0x2a64920
jmp 0x10060c3e
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [eax], 3
call dword [0x2b1f348]
push eax
movzx ecx, word [ebp - 0x3b00]
push ecx
mov edx, dword [ebp - 0x29d0]
push edx
push 0x2b2252c
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
call fcn.100cde48
add esp, 0x14
xor eax, eax
jmp 0x1006194c
jmp 0x10060c7b
mov edx, dword [ebp + 8]
mov eax, dword [edx]
mov dword [eax], 3
call dword [0x2b1f348]
push eax
lea ecx, [ebp - 0x3afc]
push ecx
mov edx, dword [ebp - 0x29d0]
push edx
push 0x2b22508
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
call fcn.100cde48
add esp, 0x14
xor eax, eax
jmp 0x1006194c
mov edx, dword [ebp - 0x25bc]
cmp edx, dword [ebp - 0x25a4]
jae 0x10060ca6
mov eax, dword [ebp - 0x25bc]
mov ecx, dword [ebp - 0x32f8]
mov dword [eax], ecx
mov edx, dword [ebp - 0x25bc]
add edx, 4
mov dword [ebp - 0x25bc], edx
jmp 0x100608d8
call dword [0x2b1f334]
sub eax, dword [ebp - 0x28bc]
mov ecx, dword [ebp - 0x28ac]
imul ecx, ecx, 0x32
add ecx, 0x7d0
cmp eax, ecx
jbe 0x10060cd1
mov byte [ebp - 0x2641], 1
cmp dword [ebp - 0x2630], 0
jne 0x10060d70
movzx edx, byte [ebp - 0x28b5]
test edx, edx
je 0x10060d70
push 0
mov eax, dword [ebp - 0x28b4]
shl eax, 2
push eax
mov ecx, dword [ebp - 0x2598]
add ecx, dword [ebp - 0x29d4]
push ecx
call fcn.100639b0
add esp, 0xc
mov edx, dword [ebp - 0x28b4]
shl edx, 2
push edx
mov eax, dword [ebp - 0x2488]
push eax
mov ecx, dword [ebp - 0x2598]
add ecx, dword [ebp - 0x29d4]
push ecx
call fcn.100cd4d0
add esp, 0xc
push 1
mov edx, dword [ebp - 0x28b4]
shl edx, 2
push edx
mov eax, dword [ebp - 0x2598]
add eax, dword [ebp - 0x29d4]
push eax
call fcn.100639b0
add esp, 0xc
mov ecx, dword [ebp - 0x2488]
mov dword [ebp - 0x51f0], ecx
mov edx, dword [ebp - 0x51f0]
push edx
call fcn.100cdcba
add esp, 4
jmp 0x10060389
mov eax, dword [ebp - 0x2484]
mov dword [ebp - 0x51f4], eax
mov ecx, dword [ebp - 0x51f4]
push ecx
call fcn.100cdcba
add esp, 4
cmp dword [ebp - 0x2630], 0
je 0x10060e90
mov edx, 0x19
shl edx, 2
mov eax, dword [0x2b49854]
mov ecx, dword [eax + edx]
xor ecx, 0
mov dword [ebp - 0x5414], ecx
mov edx, dword [ebp - 0x5414]
mov dword [ebp - 0x3c14], edx
movzx esi, byte [ebp - 0x2641]
neg esi
sbb esi, esi
and esi, 0x100
add esi, 0x200
call fcn.10065c90
neg eax
sbb eax, eax
and eax, 0x100
add eax, 0x100
push eax
lea ecx, [ebp - 0x3c14]
call fcn.100069b0
add esi, eax
mov dword [ebp - 0x3c10], esi
mov dword [ebp - 0x3c18], 0
jmp 0x10060e1b
mov eax, dword [ebp - 0x3c18]
add eax, 1
mov dword [ebp - 0x3c18], eax
mov ecx, dword [ebp - 0x3c18]
cmp ecx, dword [ebp - 0x3c10]
jae 0x10060e90
mov edx, dword [ebp - 0x265c]
push edx
lea ecx, [ebp - 0x3c14]
call fcn.100069b0
mov dword [ebp - 0x3c1c], eax
mov eax, dword [ebp - 0x2630]
mov ecx, dword [eax]
mov dword [ebp - 0x3c20], ecx
mov edx, dword [ebp - 0x3c1c]
lea eax, [edx*4 + 4]
push eax
mov ecx, dword [ebp - 0x2630]
add ecx, 4
push ecx
mov edx, dword [ebp - 0x2630]
push edx
call fcn.100cff70
add esp, 0xc
mov eax, dword [ebp - 0x3c1c]
mov ecx, dword [ebp - 0x2630]
mov edx, dword [ebp - 0x3c20]
mov dword [ecx + eax*4], edx
jmp 0x10060e0c
mov eax, dword [ebp - 0x25b8]
push eax
call fcn.10087af0
add esp, 4
mov dword [0x2b454a8], 0x2b22500
mov ecx, dword [0x2b4b798]
mov dword [ebp - 0x5438], ecx
mov edx, dword [ebp - 0x5438]
mov eax, dword [edx + 0x548]
mov dword [ebp - 0x25a0], eax
mov dword [ebp - 0x3c24], 0
jmp 0x10060ee2
mov ecx, dword [ebp - 0x3c24]
add ecx, 1
mov dword [ebp - 0x3c24], ecx
mov edx, dword [0x2b4b798]
mov dword [ebp - 0x543c], edx
mov eax, dword [ebp - 0x543c]
mov cx, word [eax + 0x544]
mov word [ebp - 0x543e], cx
movzx edx, word [ebp - 0x543e]
cmp dword [ebp - 0x3c24], edx
jge 0x10061117
mov eax, dword [ebp - 0x25a0]
mov ecx, dword [eax]
mov dword [ebp - 0x3c28], ecx
mov edx, dword [ebp - 0x25a0]
add edx, 4
mov dword [ebp - 0x25a0], edx
mov eax, dword [ebp - 0x25a0]
mov ecx, dword [eax]
mov dword [ebp - 0x3c2c], ecx
mov edx, dword [ebp - 0x25a0]
add edx, 4
mov dword [ebp - 0x25a0], edx
mov eax, dword [0x2b52604]
mov cx, word [eax]
mov word [ebp - 0x3c30], cx
mov edx, dword [0x2b52604]
add edx, 2
mov dword [0x2b52604], edx
movzx eax, word [ebp - 0x3c30]
push eax
mov ecx, dword [0x2b52604]
push ecx
lea edx, [ebp - 0x4c34]
push edx
call fcn.100cd4d0
add esp, 0xc
movzx eax, word [ebp - 0x3c30]
add eax, dword [0x2b52604]
mov dword [0x2b52604], eax
cmp dword [ebp - 0x3c28], 0
je 0x10061112
mov ecx, dword [ebp - 0x3c2c]
mov dword [ebp - 0x4c3c], ecx
lea edx, [ebp - 0x4c34]
mov dword [ebp - 0x4c40], edx
movzx eax, word [ebp - 0x3c30]
add eax, dword [ebp - 0x4c40]
mov dword [ebp - 0x4c44], eax
jmp 0x10060fe6
mov ecx, dword [ebp - 0x4c40]
add ecx, 1
mov dword [ebp - 0x4c40], ecx
mov edx, dword [ebp - 0x4c40]
cmp edx, dword [ebp - 0x4c44]
jae 0x10061026
push pe_nt_image_headers32
lea ecx, [ebp - 0x4c3c]
call fcn.100069b0
mov byte [ebp - 0x5451], al
movzx eax, byte [ebp - 0x5451]
mov ecx, dword [ebp - 0x4c40]
movzx edx, byte [ecx]
xor edx, eax
mov eax, dword [ebp - 0x4c40]
mov byte [eax], dl
jmp 0x10060fd7
lea ecx, [ebp - 0x4c38]
push ecx
push 4
movzx edx, word [ebp - 0x3c30]
push edx
mov eax, dword [ebp - 0x2598]
add eax, dword [ebp - 0x3c28]
push eax
call dword [0x2b1f114]
mov cl, byte [0x2b4982c]
mov byte [ebp - 0x5452], cl
movzx edx, byte [ebp - 0x5452]
test edx, edx
je 0x100610c5
push 0
movzx eax, word [ebp - 0x3c30]
push eax
mov ecx, dword [ebp - 0x2598]
add ecx, dword [ebp - 0x3c28]
push ecx
call fcn.100639b0
add esp, 0xc
movzx edx, word [ebp - 0x3c30]
push edx
lea eax, [ebp - 0x4c34]
push eax
mov ecx, dword [ebp - 0x2598]
add ecx, dword [ebp - 0x3c28]
push ecx
call fcn.100cd4d0
add esp, 0xc
push 1
movzx edx, word [ebp - 0x3c30]
push edx
mov eax, dword [ebp - 0x2598]
add eax, dword [ebp - 0x3c28]
push eax
call fcn.100639b0
add esp, 0xc
jmp 0x100610e9
movzx ecx, word [ebp - 0x3c30]
push ecx
lea edx, [ebp - 0x4c34]
push edx
mov eax, dword [ebp - 0x2598]
add eax, dword [ebp - 0x3c28]
push eax
call fcn.100cd4d0
add esp, 0xc
lea ecx, [ebp - 0x4c38]
push ecx
mov edx, dword [ebp - 0x4c38]
push edx
movzx eax, word [ebp - 0x3c30]
push eax
mov ecx, dword [ebp - 0x2598]
add ecx, dword [ebp - 0x3c28]
push ecx
call dword [0x2b1f114]
jmp 0x10060ed3
mov dword [0x2b454a8], 0x2b224f8
mov edx, dword [0x2b52604]
mov eax, dword [edx]
mov dword [ebp - 0x262c], eax
mov ecx, dword [0x2b52604]
add ecx, 4
mov dword [0x2b52604], ecx
mov edx, dword [0x2b52604]
mov eax, dword [edx]
mov dword [ebp - 0x263c], eax
mov ecx, dword [0x2b52604]
add ecx, 4
mov dword [0x2b52604], ecx
cmp dword [ebp - 0x262c], 0
je 0x100611d8
cmp dword [ebp - 0x263c], 0
je 0x100611d8
mov edx, dword [ebp - 0x25c4]
mov eax, dword [ebp - 0x2598]
cmp eax, dword [edx + 0x34]
je 0x100611d8
mov ecx, dword [ebp - 0x263c]
push ecx
mov edx, dword [ebp - 0x2598]
add edx, dword [ebp - 0x262c]
push edx
mov eax, dword [ebp - 0x25c4]
mov ecx, dword [eax + 0x34]
push ecx
mov edx, dword [ebp - 0x2598]
push edx
call fcn.10063d10
add esp, 0x10
movzx eax, al
test eax, eax
jne 0x100611d8
mov ecx, dword [ebp + 8]
mov edx, dword [ecx]
mov dword [edx], 7
push 0x2b224e8
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 4]
push ecx
call fcn.100cdd50
add esp, 8
xor eax, eax
jmp 0x1006194c
mov dword [0x2b454a8], 0x2b224e0
cmp dword [ebp - 0x2658], 0
je 0x100613db
cmp dword [ebp - 0x2630], 0
je 0x100613db
mov edx, dword [ebp - 0x20]
mov dword [ebp - 0x4c4c], edx
mov eax, dword [ebp - 0x18]
sub eax, dword [ebp - 0x20]
add eax, 1
mov dword [ebp - 0x4c54], eax
lea ecx, [ebp - 0x4c48]
push ecx
push 4
mov edx, dword [ebp - 0x4c54]
push edx
mov eax, dword [ebp - 0x2598]
add eax, dword [ebp - 0x4c4c]
push eax
call dword [0x2b1f114]
mov cl, byte [0x2b4982c]
mov byte [ebp - 0x5453], cl
movzx edx, byte [ebp - 0x5453]
test edx, edx
je 0x1006126c
push 0
mov eax, dword [ebp - 0x4c54]
push eax
mov ecx, dword [ebp - 0x2598]
add ecx, dword [ebp - 0x4c4c]
push ecx
call fcn.100639b0
add esp, 0xc
mov edx, dword [ebp - 0x25c4]
mov esi, dword [ebp - 0x2598]
sub esi, dword [edx + 0x34]
call fcn.10065c90
neg eax
sbb eax, eax
and eax, 0x1000
add esi, eax
mov dword [ebp - 0x4c50], esi
mov dword [ebp - 0x4c58], 0
jmp 0x100612ac
mov eax, dword [ebp - 0x4c58]
add eax, 1
mov dword [ebp - 0x4c58], eax
mov ecx, dword [ebp - 0x4c58]
mov edx, dword [ebp - 0x2658]
cmp dword [edx + ecx*4], 0
je 0x10061359
mov eax, dword [ebp - 0x4c58]
mov ecx, dword [ebp - 0x2658]
mov edx, dword [ebp - 0x2598]
add edx, dword [ecx + eax*4]
mov dword [ebp - 0x4c5c], edx
mov eax, dword [ebp - 0x4c5c]
mov ecx, dword [eax]
mov dword [ebp - 0x4c60], ecx
cmp dword [ebp - 0x4c60], 0x90909090
je 0x10061354
mov edx, dword [ebp - 0x4c60]
sub edx, dword [ebp - 0x4c50]
mov dword [ebp - 0x4c60], edx
mov eax, dword [ebp - 0x4c60]
push eax
mov eax, dword [ebp - 0x4c58]
xor edx, edx
mov ecx, 0x17
div ecx
mov edx, dword [edx*4 + 0x2b21ff0]
call edx
add esp, 4
mov dword [ebp - 0x4c60], eax
mov eax, dword [ebp - 0x4c60]
mov ecx, dword [ebp - 0x2630]
lea edx, [ecx + eax*4]
mov dword [ebp - 0x4c60], edx
mov eax, dword [ebp - 0x4c5c]
mov ecx, dword [ebp - 0x4c60]
mov dword [eax], ecx
jmp 0x1006129d
mov dl, byte [0x2b4982c]
mov byte [ebp - 0x5454], dl
movzx eax, byte [ebp - 0x5454]
test eax, eax
je 0x1006138e
push 1
mov ecx, dword [ebp - 0x4c54]
push ecx
mov edx, dword [ebp - 0x2598]
add edx, dword [ebp - 0x4c4c]
push edx
call fcn.100639b0
add esp, 0xc
lea eax, [ebp - 0x4c48]
push eax
mov ecx, dword [ebp - 0x4c48]
push ecx
mov edx, dword [ebp - 0x4c54]
push edx
mov eax, dword [ebp - 0x2598]
add eax, dword [ebp - 0x4c4c]
push eax
call dword [0x2b1f114]
mov ecx, dword [ebp - 0x2658]
mov dword [ebp - 0x51f8], ecx
mov edx, dword [ebp - 0x51f8]
push edx
call fcn.100cdcba
add esp, 4
mov dword [ebp - 0x2658], 0
mov eax, 0x24
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [edx + 0x34]
xor ebx, dword [ecx + eax]
and ebx, 1
neg ebx
sbb ebx, ebx
neg ebx
movzx eax, bl
test eax, eax
je 0x100615f6
mov ecx, 0x1f
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov esi, dword [esi + 0x54]
xor esi, dword [eax + 0x68]
xor esi, dword [edx + ecx]
add esi, dword [ebp - 0x2598]
mov dword [ebp - 0x4c64], esi
mov ecx, 0x1d
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov esi, dword [esi + 0x38]
xor esi, dword [eax + 0x34]
xor esi, dword [edx + ecx]
mov dword [ebp - 0x5068], esi
mov ecx, 0xe
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [edx + ecx]
xor eax, 0
mov dword [ebp - 0x5458], eax
mov ecx, 0x15
shl ecx, 2
mov edx, dword [0x2b49854]
mov eax, dword [edx + ecx]
xor eax, 0
mov dword [ebp - 0x545c], eax
mov ecx, dword [ebp - 0x5458]
xor ecx, dword [ebp - 0x545c]
mov edx, 0xd
shl edx, 2
mov eax, dword [0x2b49854]
mov edx, dword [eax + edx]
xor edx, 0
xor ecx, edx
mov dword [0x2b50328], ecx
mov dword [ebp - 0x506c], 0x80000000
mov dword [ebp - 0x5070], 0
jmp 0x100614e8
mov eax, dword [ebp - 0x5070]
add eax, 1
mov dword [ebp - 0x5070], eax
cmp dword [ebp - 0x5070], 0x100
jae 0x1006158c
push 8
mov ecx, dword [ebp - 0x5070]
push ecx
call fcn.10054600
add esp, 8
shl eax, 0x18
mov dword [ebp - 0x5074], eax
mov dword [ebp - 0x5078], 0
jmp 0x1006152d
mov edx, dword [ebp - 0x5078]
add edx, 1
mov dword [ebp - 0x5078], edx
cmp dword [ebp - 0x5078], 8
jge 0x10061569
mov eax, dword [ebp - 0x5074]
and eax, 0x80000000
je 0x10061559
mov ecx, dword [ebp - 0x5074]
shl ecx, 1
xor ecx, 0x4c11db7
mov dword [ebp - 0x5074], ecx
jmp 0x10061567
mov edx, dword [ebp - 0x5074]
shl edx, 1
mov dword [ebp - 0x5074], edx
jmp 0x1006151e
push 0x20
mov eax, dword [ebp - 0x5074]
push eax
call fcn.10054600
add esp, 8
mov ecx, dword [ebp - 0x5070]
mov dword [ebp + ecx*4 - 0x5064], eax
jmp 0x100614d9
mov edx, dword [ebp - 0x4c64]
mov dword [ebp - 0x507c], edx
mov eax, dword [ebp - 0x507c]
add eax, dword [ebp - 0x5068]
mov dword [ebp - 0x5080], eax
jmp 0x100615bb
mov ecx, dword [ebp - 0x507c]
add ecx, 1
mov dword [ebp - 0x507c], ecx
mov edx, dword [ebp - 0x507c]
cmp edx, dword [ebp - 0x5080]
jae 0x100615f6
mov eax, dword [ebp - 0x507c]
movsx ecx, byte [eax]
xor ecx, dword [0x2b50328]
and ecx, 0xff
mov edx, dword [0x2b50328]
shr edx, 8
xor edx, dword [ebp + ecx*4 - 0x5064]
mov dword [0x2b50328], edx
jmp 0x100615ac
mov dword [0x2b454a8], 0x2b224d8
mov eax, 0x15
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [ecx + eax]
xor edx, 0
mov dword [ebp - 0x5460], edx
mov eax, 0xd
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [ecx + eax]
xor edx, 0
mov dword [ebp - 0x5464], edx
call fcn.10065c90
mov ecx, dword [ebp - 0x5460]
xor ecx, dword [ebp - 0x5464]
xor ecx, eax
mov dword [ebp - 0x5468], ecx
mov edx, dword [ebp - 0x5468]
mov dword [0x2b49840], edx
mov eax, 0x10
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov esi, dword [esi + 0x10]
xor esi, dword [edx + 0x54]
xor esi, dword [ecx + eax]
mov dword [ebp - 0x546c], esi
mov eax, dword [ebp - 0x546c]
push eax
mov ecx, dword [0x2b52604]
push ecx
call fcn.100443e0
add esp, 8
mov dword [0x2b52604], eax
mov dword [0x2b49840], 0
mov dword [0x2b454a8], 0x2b224d0
mov edx, dword [0x2b52604]
sub edx, dword [0x2b52584]
mov dword [0x2b52580], edx
mov eax, 0x20
shl eax, 2
mov ecx, dword [0x2b49854]
mov edx, dword [0x2b49854]
mov esi, dword [0x2b49854]
mov ebx, dword [esi + 0x54]
xor ebx, dword [edx + 0x34]
xor ebx, dword [ecx + eax]
and ebx, 0x80
neg ebx
sbb ebx, ebx
neg ebx
movzx eax, bl
test eax, eax
jne 0x100616fe
call fcn.10063ba0
mov cl, byte [0x2b4982c]
mov byte [ebp - 0x546d], cl
movzx edx, byte [ebp - 0x546d]
test edx, edx
je 0x10061835
lea eax, [ebp - 0x5084]
push eax
push 1
mov ecx, dword [ebp - 0x234]
push ecx
mov edx, dword [ebp - 0x2598]
add edx, dword [ebp - 0x20]
push edx
call dword [0x2b1f114]
mov dword [ebp - 0x5128], eax
mov dword [ebp - 0x5124], 0x94
lea eax, [ebp - 0x5124]
push eax
call dword [0x2b1f0ec]
cmp dword [ebp - 0x5114], 2
jne 0x10061790
lea ecx, [ebp - 0x5084]
push ecx
mov edx, dword [ebp - 0x5084]
or edx, 0x100
push edx
mov eax, dword [ebp - 0x234]
push eax
mov ecx, dword [ebp - 0x2598]
add ecx, dword [ebp - 0x20]
push ecx
call dword [0x2b1f114]
mov dword [ebp - 0x5128], eax
mov edx, dword [ebp - 0x2598]
add edx, dword [ebp - 0x20]
mov dword [ebp - 0x508c], edx
mov eax, dword [ebp - 0x508c]
add eax, dword [ebp - 0x234]
mov dword [ebp - 0x5088], eax
mov ecx, dword [0x2b5292c]
mov dword [ebp - 0x512c], ecx
jmp 0x100617ce
mov edx, dword [ebp - 0x512c]
mov eax, dword [edx + 0x10]
mov dword [ebp - 0x512c], eax
cmp dword [ebp - 0x512c], 0
je 0x10061835
mov ecx, dword [ebp - 0x512c]
mov edx, dword [ecx]
cmp edx, dword [ebp - 0x508c]
jb 0x100617f7
mov eax, dword [ebp - 0x512c]
mov ecx, dword [eax]
cmp ecx, dword [ebp - 0x5088]
jb 0x10061829
mov edx, dword [ebp - 0x512c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x512c]
add eax, dword [ecx + 4]
cmp eax, dword [ebp - 0x508c]
jb 0x10061833
mov edx, dword [ebp - 0x512c]
mov eax, dword [edx]
mov ecx, dword [ebp - 0x512c]
add eax, dword [ecx + 4]
cmp eax, dword [ebp - 0x5088]
jae 0x10061833
mov edx, dword [ebp - 0x512c]
mov byte [edx + 0xc], 1
jmp 0x100617bf
mov eax, dword [0x2b1f1f8]
push eax
call fcn.10065ca0
add esp, 4
mov byte [ebp - 0x2599], al
movzx ecx, byte [ebp - 0x2599]
test ecx, ecx
je 0x1006187a
mov edx, 0x16
shl edx, 2
mov eax, dword [0x2b49854]
mov ecx, dword [eax + edx]
xor ecx, 0x7c3
mov edx, 0x16
shl edx, 2
mov eax, dword [0x2b49854]
mov dword [edx + eax], ecx
mov dword [0x2b454a8], 0x2b224c8
push 0
mov ecx, 0x2b49208
call fcn.10018bf0
cmp dword [0x2b4b428], 0
jne 0x100618a6
call dword [0x2b1f334]
mov dword [0x2b4b428], eax
jmp 0x10061890
mov ecx, dword [0x2b49864]
mov dword [ebp - 0x5474], ecx
push 0
push 0
mov ecx, dword [ebp - 0x5474]
call fcn.100414b0
mov esi, eax
push 0
mov ecx, 0x2b498b0
call fcn.1000df40
xor esi, eax
mov dword [ebp - 0x5478], esi
mov edx, dword [0x2b498a8]
mov dword [ebp - 0x547c], edx
mov eax, dword [0x2b49854]
mov ecx, dword [0x2b49854]
mov edx, dword [0x2b49854]
mov edx, dword [edx + 0x38]
xor edx, dword [ecx + 0x4c]
xor edx, dword [eax + 0x34]
xor edx, dword [ebp - 0x547c]
cmp dword [ebp - 0x5478], edx
jne 0x10061947
mov eax, dword [0x2b49864]
mov dword [ebp - 0x5480], eax
push 0
push 1
mov ecx, dword [ebp - 0x5480]
call fcn.100414b0
mov esi, eax
push 1
mov ecx, 0x2b498b0
call fcn.1000df40
xor esi, eax
mov dword [ebp - 0x5484], esi
mov ecx, dword [0x2b498ac]
mov dword [ebp - 0x5488], 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 - 0x24]
xor ecx, ebp
call fcn.100cdbfc
mov esp, ebp
pop ebp
ret