Function at 0x100417d0
Capabilities:
Access peb ldr_data
Get number of processors
Parse pe header

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x100ce070
mov eax, dword fs:[0]
push eax
sub esp, 0x1f8
mov eax, dword [0x1010a944]
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 ebx, ecx
mov dword [ebp - 0x58], ebx
mov esi, dword [ebx + 4]
mov edi, dword [ebp + 8]
mov dword [ebp - 0x44], edi
mov dword [ebp - 0x64], esi
lea eax, [esi + 0x30]
mov dword [ebp - 0x5c], eax
mov eax, dword [ebx + 0x1c]
neg eax
sbb eax, eax
and eax, 0xf
mov dword [ebp - 0x60], eax
mov eax, dword [ebx + 0xc]
add eax, 0xffffffd3
cmp eax, 0x7b
ja case.0x10041838.47
movzx eax, byte [eax + 0x100440cc]
jmp dword [eax*4 + 0x10044088]
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 8]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x58], eax
lea eax, [ebp - 0x54]
push eax
lea eax, [ebp - 0x4c]
mov dword [ebp - 0x4c], 0
mov ecx, dword [ecx + 8]
push eax
call fcn.1003e9b0
mov ecx, dword [ebx + 0x10]
push edi
mov ecx, dword [ecx]
call fcn.1003d830
mov ecx, dword [ebx + 0x10]
push edi
mov dword [ebp - 0x64], eax
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov dword [ebp - 0x5c], eax
mov eax, dword [esi + 0x1c]
push eax
push 4
mov dword [ebp - 0x48], eax
lea ecx, [eax + 1]
mov dword [esi + 0x1c], ecx
lea ecx, [ebp - 0xb8]
call fcn.1003a290
mov dword [ebp - 4], 0
mov eax, ecx
cmp dword [ebp - 0x4c], 1
lea ecx, [ebp - 0x1b0]
mov esi, dword [ebp - 0x5c]
push esi
push eax
push dword [ebp - 0x58]
jne 0x100418f3
call fcn.10044560
push dword [ebp - 0x60]
mov byte [ebp - 4], 1
mov ecx, eax
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
call fcn.100411b0
mov ecx, eax
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x1b0]
call fcn.100344e0
jmp 0x10041929
call fcn.10044650
push dword [ebp - 0x60]
mov byte [ebp - 4], 2
mov ecx, eax
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
call fcn.100411b0
mov ecx, eax
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x1b0]
call fcn.100344e0
push dword [ebp - 0x48]
lea ecx, [ebp - 0x130]
push 4
call fcn.1003a3d0
mov byte [ebp - 4], 3
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
shr eax, 4
push eax
call fcn.10041090
mov eax, ecx
lea ecx, [ebp - 0x84]
push eax
push dword [ebp - 0x64]
call fcn.1003c940
mov byte [ebp - 4], 4
mov ecx, eax
push dword [ebx + 0x1c]
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x84]
call fcn.100344e0
mov eax, dword [ebp - 0x64]
test eax, eax
je 0x10041991
push 1
mov ecx, eax
call fcn.10037d10
test esi, esi
je 0x100419ca
mov ecx, dword [esi + 8]
test ecx, ecx
je 0x100419aa
push 1
call fcn.100344b0
mov dword [esi + 8], 0
mov ecx, dword [esi + 0x14]
test ecx, ecx
je 0x100419bf
push 1
call fcn.100344b0
mov dword [esi + 0x14], 0
push 0x1c
push esi
call fcn.100a576e
add esp, 8
lea ecx, [ebp - 0x130]
call fcn.10034460
lea ecx, [ebp - 0xb8]
call fcn.10037d70
jmp case.0x10041838.47
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 8]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x68], eax
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebp - 0x50]
mov dword [ebp - 0x50], 0
mov ecx, dword [ecx + 8]
push eax
mov dword [ebp - 0x5c], 0
call fcn.1003e9b0
mov ecx, dword [ebx + 0x10]
push edi
mov ecx, dword [ecx]
call fcn.1003d830
mov ecx, dword [ebx + 0x10]
push edi
mov dword [ebp - 0x54], eax
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov ecx, dword [ebx + 0x10]
push edi
mov dword [ebp - 0x58], eax
mov ecx, dword [ecx + 0xc]
call fcn.1003dfb0
mov dword [ebp - 0x4c], eax
mov eax, dword [esi + 0x1c]
push eax
push 4
mov dword [ebp - 0x138], eax
lea ecx, [eax + 1]
mov dword [ebp - 0x48], ecx
inc ecx
mov dword [esi + 0x1c], ecx
lea ecx, [ebp - 0xe8]
call fcn.1003a290
push dword [ebp - 0x58]
mov dword [ebp - 4], 5
mov eax, ecx
or dword [ebp - 0xe8], 0x400000
lea ecx, [ebp - 0x84]
mov byte [ebp - 0xe4], 0
or dword [ebp - 0xe4], 0x15
cmp dword [ebx + 0x1c], 0
push eax
je 0x10041ac2
call fcn.1003c940
mov edx, eax
mov byte [ebp - 4], 6
mov eax, 0x161
mov word [edx + 8], ax
mov ecx, dword [edx + 8]
mov eax, dword [edx]
and ecx, 0xfff7ffff
or ecx, 0x70000
mov dword [edx + 8], ecx
mov ecx, edx
push edi
call dword [eax + 4]
jmp 0x10041ad3
call fcn.1003c940
mov byte [ebp - 4], 7
mov ecx, eax
mov edx, dword [eax]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x84]
mov byte [ebp - 4], 5
call fcn.100344e0
push dword [ebp - 0x4c]
or dword [ebp - 0xe8], 0x400000
lea eax, [ebp - 0xe8]
mov byte [ebp - 0xe4], 0
lea ecx, [ebp - 0x84]
or dword [ebp - 0xe4], 0x40
cmp dword [ebx + 0x1c], 0
push eax
je 0x10041b40
call fcn.1003c940
mov edx, eax
mov byte [ebp - 4], 8
mov eax, 0x161
mov word [edx + 8], ax
mov ecx, dword [edx + 8]
mov eax, dword [edx]
and ecx, 0xfff8ffff
or ecx, 0x80000
mov dword [edx + 8], ecx
mov ecx, edx
push edi
call dword [eax + 4]
jmp 0x10041b51
call fcn.1003c940
mov byte [ebp - 4], 9
mov ecx, eax
mov edx, dword [eax]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x84]
call fcn.100344e0
push dword [ebp - 0x138]
lea ecx, [ebp - 0x1cc]
push 4
call fcn.1003a3d0
push dword [ebp - 0x48]
lea ecx, [ebp - 0x1ac]
push 4
call fcn.1003a290
mov byte [ebp - 4], 0xb
cmp dword [ebp - 0x50], 2
jne 0x10042461
mov edx, dword [esi + 0x1c]
mov ecx, dword [ebp - 0x64]
push edx
push 4
lea esi, [edx + 1]
lea edi, [esi + 1]
lea eax, [edi + 1]
mov dword [ecx + 0x1c], eax
lea ecx, [ebp - 0x164]
call fcn.1003a290
push edx
push 4
lea ecx, [ebp - 0x204]
call fcn.1003a3d0
push esi
push 4
lea ecx, [ebp - 0xb8]
call fcn.1003a290
push esi
push 4
lea ecx, [ebp - 0x84]
call fcn.1003a3d0
push edi
push 4
lea ecx, [ebp - 0x114]
call fcn.1003a290
push edi
push 4
lea ecx, [ebp - 0x1e8]
call fcn.1003a3d0
mov esi, dword [ebp - 0x64]
mov ecx, dword [esi + 0x18]
push ecx
push 0x20
lea eax, [ecx + 1]
lea ecx, [ebp - 0x180]
mov dword [esi + 0x18], eax
call fcn.1003a3d0
push 7
push 8
push 2
mov eax, ecx
mov byte [ebp - 4], 0x12
push 0xf
push eax
lea ecx, [ebp - 0x3c]
call fcn.1003a7a0
mov byte [ebp - 4], 0x13
mov ecx, eax
mov edx, dword [eax]
mov edi, dword [ebp - 0x44]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x12
call fcn.100344e0
or dword [ebp - 0x164], 0x400000
lea eax, [ebp - 0x1cc]
push eax
lea eax, [ebp - 0x164]
mov byte [ebp - 0x160], 0
or dword [ebp - 0x160], 5
lea ecx, [ebp - 0x40]
cmp dword [ebx + 0x1c], 0
push eax
push dword [ebp - 0x5c]
je 0x10041ca6
call fcn.10044560
push 0
mov byte [ebp - 4], 0x14
mov ecx, eax
push dword [ebx + 0x28]
push dword [ebx + 0x24]
call fcn.100411b0
mov ecx, 0x161
mov word [eax + 8], cx
mov ecx, dword [eax + 8]
and ecx, 0xfff3ffff
or ecx, 0x30000
mov dword [eax + 8], ecx
jmp 0x10041cbe
call fcn.10044560
push 0
mov byte [ebp - 4], 0x15
mov ecx, eax
push dword [ebx + 0x28]
push dword [ebx + 0x24]
call fcn.100411b0
mov edx, dword [eax]
mov ecx, eax
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x40]
mov byte [ebp - 4], 0x12
call fcn.100344e0
mov eax, dword [ebp - 0x114]
lea ecx, [ebp - 0x204]
or eax, 0x400000
mov byte [ebp - 0x110], 0
or dword [ebp - 0x110], 1
push 1
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x114], eax
call fcn.1003a750
cmp dword [ebx + 0x1c], 0
lea ecx, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x114]
push eax
je 0x10041e47
call fcn.1003c940
mov edx, eax
mov byte [ebp - 4], 0x16
mov eax, 0x161
mov word [edx + 8], ax
mov ecx, dword [edx + 8]
mov eax, dword [edx]
and ecx, 0xfff1ffff
or ecx, 0x10000
mov dword [edx + 8], ecx
mov ecx, edx
push edi
call dword [eax + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x12
call fcn.100344e0
or dword [ebp - 0xb8], 0x400000
lea ecx, [ebp - 0x180]
mov byte [ebp - 0xb4], 0
or dword [ebp - 0xb4], 1
push 2
call fcn.1003a750
push eax
push 3
lea ecx, [ebp - 0x1cc]
call fcn.1003a750
push eax
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x2c]
call fcn.100449f0
mov edx, eax
mov byte [ebp - 4], 0x17
mov eax, 0x161
mov word [edx + 8], ax
mov ecx, dword [edx + 8]
mov eax, dword [edx]
and ecx, 0xfff1ffff
or ecx, 0x10000
mov dword [edx + 8], ecx
mov ecx, edx
push edi
call dword [eax + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x12
call fcn.100344e0
or dword [ebp - 0x164], 0x400000
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 0x160], 0
or dword [ebp - 0x160], 1
push 0
call fcn.1003a750
push eax
push 0
lea ecx, [ebp - 0x204]
call fcn.1003a750
push eax
push 0
lea ecx, [ebp - 0x84]
call fcn.1003a750
push eax
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10044710
mov edx, eax
mov byte [ebp - 4], 0x18
mov eax, 0x161
mov word [edx + 8], ax
mov ecx, dword [edx + 8]
mov eax, dword [edx]
and ecx, 0xfff1ffff
or ecx, 0x10000
mov dword [edx + 8], ecx
mov ecx, edx
push edi
call dword [eax + 4]
jmp 0x10041f1c
call fcn.1003c940
mov byte [ebp - 4], 0x19
mov ecx, eax
mov edx, dword [eax]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x12
call fcn.100344e0
or dword [ebp - 0xb8], 0x400000
lea ecx, [ebp - 0x180]
mov byte [ebp - 0xb4], 0
or dword [ebp - 0xb4], 1
push 2
call fcn.1003a750
push eax
push 3
lea ecx, [ebp - 0x1cc]
call fcn.1003a750
push eax
lea eax, [ebp - 0xb8]
push eax
lea ecx, [ebp - 0x2c]
call fcn.100449f0
mov byte [ebp - 4], 0x1a
mov ecx, eax
mov edx, dword [eax]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x12
call fcn.100344e0
or dword [ebp - 0x164], 0x400000
lea ecx, [ebp - 0x1e8]
mov byte [ebp - 0x160], 0
or dword [ebp - 0x160], 1
push 0
call fcn.1003a750
push eax
push 0
lea ecx, [ebp - 0x204]
call fcn.1003a750
push eax
push 0
lea ecx, [ebp - 0x84]
call fcn.1003a750
push eax
lea eax, [ebp - 0x164]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10044710
mov byte [ebp - 4], 0x1b
mov ecx, eax
mov edx, dword [eax]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x12
call fcn.100344e0
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x180]
or eax, 0x400000
mov byte [ebp - 0x110], 0
or dword [ebp - 0x110], 1
push 3
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x114], eax
call fcn.1003a750
push eax
lea ecx, [ebp - 0x1cc]
push 3
call fcn.1003a750
cmp dword [ebx + 0x1c], 0
lea ecx, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x114]
push eax
je 0x10041fa3
call fcn.10044bb0
mov edx, eax
mov byte [ebp - 4], 0x1c
mov eax, 0x161
mov word [edx + 8], ax
mov ecx, dword [edx + 8]
mov eax, dword [edx]
and ecx, 0xfff1ffff
or ecx, 0x10000
mov dword [edx + 8], ecx
mov ecx, edx
push edi
call dword [eax + 4]
jmp 0x10041fb4
call fcn.10044bb0
mov byte [ebp - 4], 0x1d
mov ecx, eax
mov edx, dword [eax]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x12
call fcn.100344e0
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x180]
or eax, 0x400000
mov byte [ebp - 0x110], 0
or dword [ebp - 0x110], 1
push 1
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x114], eax
call fcn.1003a750
push eax
lea ecx, [ebp - 0x1e8]
push 0
call fcn.1003a750
cmp dword [ebx + 0x1c], 0
lea ecx, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x114]
push eax
je 0x100420be
call fcn.10044910
mov edx, eax
mov byte [ebp - 4], 0x1e
mov eax, 0x161
mov word [edx + 8], ax
mov ecx, dword [edx + 8]
mov eax, dword [edx]
and ecx, 0xfff1ffff
or ecx, 0x10000
mov dword [edx + 8], ecx
mov ecx, edx
push edi
call dword [eax + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x12
call fcn.100344e0
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x1e8]
or eax, 0x400000
mov byte [ebp - 0x110], 0
or dword [ebp - 0x110], 1
push 0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x114], eax
call fcn.1003a750
push eax
push 0
lea ecx, [ebp - 0x204]
call fcn.1003a750
push eax
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10044830
mov edx, eax
mov byte [ebp - 4], 0x1f
mov eax, 0x161
mov word [edx + 8], ax
mov ecx, dword [edx + 8]
mov eax, dword [edx]
and ecx, 0xfff1ffff
or ecx, 0x10000
mov dword [edx + 8], ecx
mov ecx, edx
push edi
call dword [eax + 4]
jmp 0x10042131
call fcn.10044910
mov byte [ebp - 4], 0x20
mov ecx, eax
mov edx, dword [eax]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x12
call fcn.100344e0
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x1e8]
or eax, 0x400000
mov byte [ebp - 0x110], 0
or dword [ebp - 0x110], 1
push 0
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x114], eax
call fcn.1003a750
push eax
push 0
lea ecx, [ebp - 0x204]
call fcn.1003a750
push eax
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10044830
mov byte [ebp - 4], 0x21
mov ecx, eax
mov edx, dword [eax]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
call fcn.100344e0
mov ecx, dword [esi + 0x18]
push ecx
push 0x20
lea eax, [ecx + 1]
lea ecx, [ebp - 0x130]
mov dword [esi + 0x18], eax
call fcn.1003a3d0
push 0
push 0
push 0
mov eax, ecx
mov byte [ebp - 4], 0x22
push 8
push eax
lea ecx, [ebp - 0x3c]
call fcn.1003a7a0
mov byte [ebp - 4], 0x23
mov ecx, eax
mov edx, dword [eax]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x3c]
mov byte [ebp - 4], 0x22
call fcn.100344e0
mov byte [ebp - 0xe4], 0
lea ecx, [ebp - 0x180]
or dword [ebp - 0xe4], 0x40
cmp dword [ebx + 0x1c], 0
push 0
je 0x100422f2
or dword [ebp - 0xe8], 0x400000
call fcn.1003a750
push eax
push 0
lea ecx, [ebp - 0x1e8]
call fcn.1003a750
push eax
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10044bb0
mov edx, eax
mov byte [ebp - 4], 0x24
mov esi, 0x161
mov eax, dword [edx]
mov word [edx + 8], si
mov ecx, dword [edx + 8]
and ecx, 0xfff8ffff
or ecx, 0x80000
mov dword [edx + 8], ecx
mov ecx, edx
push edi
call dword [eax + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x22
call fcn.100344e0
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x130]
or eax, 0x400000
mov byte [ebp - 0x110], 0
or dword [ebp - 0x110], 1
push 0
mov dword [ebp - 0x114], eax
call fcn.1003a750
push eax
push 3
lea ecx, [ebp - 0x1cc]
call fcn.1003a750
push eax
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10044ad0
mov edx, eax
mov byte [ebp - 4], 0x25
mov eax, dword [edx]
mov word [edx + 8], si
mov ecx, dword [edx + 8]
and ecx, 0xfff1ffff
or ecx, 0x10000
mov dword [edx + 8], ecx
mov ecx, edx
push edi
call dword [eax + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x22
call fcn.100344e0
or dword [ebp - 0xe8], 0x400000
lea ecx, [ebp - 0x1cc]
mov byte [ebp - 0xe4], 0
or dword [ebp - 0xe4], 0x40
push 3
call fcn.1003a750
push eax
push 1
lea ecx, [ebp - 0x130]
call fcn.1003a750
push eax
push 0
lea ecx, [ebp - 0x1e8]
call fcn.1003a750
push eax
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10044710
mov edx, eax
mov byte [ebp - 4], 0x26
mov eax, dword [edx]
mov word [edx + 8], si
mov ecx, dword [edx + 8]
and ecx, 0xfff8ffff
or ecx, 0x80000
mov dword [edx + 8], ecx
mov ecx, edx
push edi
call dword [eax + 4]
jmp 0x100423fd
mov esi, dword [ebp - 0xe8]
or esi, 0x400000
mov dword [ebp - 0xe8], esi
call fcn.1003a750
push eax
push 0
lea ecx, [ebp - 0x1e8]
call fcn.1003a750
push eax
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10044bb0
mov byte [ebp - 4], 0x27
mov ecx, eax
mov edx, dword [eax]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x22
call fcn.100344e0
mov eax, dword [ebp - 0x44]
lea ecx, [ebp - 0x130]
or eax, 0x400000
mov byte [ebp - 0x110], 0
or dword [ebp - 0x110], 1
push 0
mov dword [ebp - 0x114], eax
call fcn.1003a750
push eax
push 3
lea ecx, [ebp - 0x1cc]
call fcn.1003a750
push eax
lea eax, [ebp - 0x114]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10044ad0
mov byte [ebp - 4], 0x28
mov ecx, eax
mov edx, dword [eax]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x22
call fcn.100344e0
or esi, 0x400000
mov byte [ebp - 0xe4], 0
or dword [ebp - 0xe4], 0x40
lea ecx, [ebp - 0x1cc]
push 3
mov dword [ebp - 0xe8], esi
call fcn.1003a750
push eax
push 1
lea ecx, [ebp - 0x130]
call fcn.1003a750
push eax
push 0
lea ecx, [ebp - 0x1e8]
call fcn.1003a750
push eax
lea eax, [ebp - 0xe8]
push eax
lea ecx, [ebp - 0x2c]
call fcn.10044710
mov byte [ebp - 4], 0x29
mov ecx, eax
mov edx, dword [eax]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
call fcn.100344e0
lea ecx, [ebp - 0x130]
call fcn.10034460
lea ecx, [ebp - 0x180]
call fcn.10034460
lea ecx, [ebp - 0x1e8]
call fcn.10034460
lea ecx, [ebp - 0x114]
call fcn.10037d70
lea ecx, [ebp - 0x84]
call fcn.10034460
lea ecx, [ebp - 0xb8]
call fcn.10037d70
lea ecx, [ebp - 0x204]
call fcn.10034460
lea ecx, [ebp - 0x164]
mov byte [ebp - 4], 0xb
call fcn.10037d70
push 3
push 2
push 1
push 0
lea ecx, [ebp - 0x1cc]
call fcn.1003a700
mov eax, ecx
lea ecx, [ebp - 0xbc]
push eax
lea eax, [ebp - 0x1ac]
push eax
push dword [ebp - 0x68]
call fcn.10044650
push dword [ebp - 0x60]
mov byte [ebp - 4], 0x2a
mov ecx, eax
push 0
push dword [ebx + 0x28]
push dword [ebx + 0x24]
call fcn.100411b0
mov ecx, eax
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0xbc]
call fcn.100344e0
push dword [ebp - 0x48]
lea ecx, [ebp - 0x84]
push 4
call fcn.1003a3d0
mov byte [ebp - 4], 0x2b
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
shr eax, 4
push eax
call fcn.10041090
mov esi, dword [ebp - 0x54]
mov eax, ecx
push eax
push esi
lea ecx, [ebp - 0x2c]
call fcn.1003c940
mov byte [ebp - 4], 0x2c
mov ecx, eax
push dword [ebx + 0x1c]
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
call fcn.100344e0
test esi, esi
je 0x1004251c
push 1
mov ecx, esi
call fcn.10037d10
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x10042558
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x10042538
push 1
call fcn.100344b0
mov dword [ebx + 8], 0
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x1004254d
push 1
call fcn.100344b0
mov dword [ebx + 0x14], 0
push 0x1c
push ebx
call fcn.100a576e
add esp, 8
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x10042594
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x10042574
push 1
call fcn.100344b0
mov dword [ebx + 8], 0
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x10042589
push 1
call fcn.100344b0
mov dword [ebx + 0x14], 0
push 0x1c
push ebx
call fcn.100a576e
add esp, 8
lea ecx, [ebp - 0x84]
call fcn.10034460
lea ecx, [ebp - 0x1ac]
call fcn.10037d70
lea ecx, [ebp - 0x1cc]
call fcn.10034460
lea ecx, [ebp - 0xe8]
call fcn.10037d70
jmp case.0x10041838.47
mov eax, dword [ebx + 0x10]
mov ecx, dword [eax + 8]
mov eax, dword [ecx]
mov dword [ebp - 0x48], eax
call fcn.1003e8c0
mov esi, dword [ebp - 0x58]
mov ebx, eax
push edi
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx]
call fcn.1003d830
mov ecx, dword [esi + 0x10]
push edi
mov dword [ebp - 0x50], eax
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x64]
mov edx, dword [eax + 0x1c]
push edx
push 4
mov dword [ebp - 0x138], edx
lea ecx, [edx + 1]
mov dword [eax + 0x1c], ecx
lea ecx, [ebp - 0xe8]
call fcn.1003a290
push 0x87
lea ecx, [ebp - 0x134]
mov dword [ebp - 4], 0x2d
call fcn.10034580
mov byte [ebp - 4], 0x2e
lea ecx, [ebp - 0xe8]
mov byte [ebp - 0x12e], bl
mov ebx, dword [ebp - 0x128]
push ecx
mov dword [ebp - method.IL::InstSrvLoadD1S1_261_.virtual_0], 0x100fb318
mov dword [ebp - 0x118], 0
mov eax, dword [ebx + 4]
push eax
push ebx
mov dword [ebp - 0x54], eax
call fcn.1003cbe0
mov edx, dword [ebp - 0x124]
mov ecx, 0x4ec4ec3
sub ecx, edx
cmp ecx, 1
jb 0x1004407e
mov ecx, dword [ebp - 0x54]
inc edx
mov dword [ebp - 0x124], edx
mov dword [ebx + 4], eax
mov ebx, dword [ebp - 0x4c]
mov dword [ecx], eax
mov eax, dword [ebp - 0x120]
push ebx
mov dword [ebp - 0x54], eax
mov ecx, dword [eax + 4]
push ecx
push eax
mov dword [ebp - 0x68], ecx
call fcn.1003cb60
mov edx, dword [ebp - 0x11c]
mov ecx, 0x71c71c6
sub ecx, edx
cmp ecx, 1
jb 0x1004407e
mov ecx, dword [ebp - 0x54]
inc edx
mov dword [ebp - 0x11c], edx
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x68]
mov dword [ecx], eax
mov byte [ebp - 4], 0x2f
cmp dword [esi + 0x50], 2
mov eax, dword [ebp - 0x130]
jne 0x100426ed
and eax, 0xf1ffffff
or eax, 0x1000000
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x48], 0x1e
jne 0x10042705
or eax, 0x80000000
or dword [ebp - 0x118], 0x10
mov dword [ebp - 0x130], eax
push dword [ebp - 0x60]
lea ecx, [ebp - 0x134]
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
push dword [ebp - 0x138]
lea ecx, [ebp - 0x180]
push 4
call fcn.1003a3d0
mov byte [ebp - 4], 0x30
cmp dword [esi + 0x50], 1
jne case.default.0x10042785
mov ecx, dword [esi + 0x10]
push 0
mov ecx, dword [ecx + 8]
call fcn.1003ea20
mov edx, eax
mov eax, dword [ebp - 0x48]
cmp eax, 7
jne 0x1004275f
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx + edx*4 + 0x3858]
jmp 0x10042772
cmp eax, 0x1e
jne 0x10042770
mov ecx, dword [ebp - 0x5c]
mov eax, dword [ecx + edx*8 + 0x3a58]
jmp 0x10042772
xor eax, eax
add eax, 0xfffffffe
cmp eax, 8
ja case.default.0x10042785
movzx eax, byte [eax + 0x10044154]
jmp dword [eax*4 + 0x10044148]
mov ebx, dword [ebp - 0xe8]
lea eax, [ebp - 0x180]
push eax
or ebx, 0x400000
mov byte [ebp - 0xe4], 0
or dword [ebp - 0xe4], 0x10
lea eax, [ebp - 0xe8]
cmp dword [esi + 0x1c], 0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0xe8], ebx
push eax
je 0x100427ff
call fcn.10044c90
mov edx, eax
mov byte [ebp - 4], 0x31
mov eax, 0x161
mov word [edx + 8], ax
mov ecx, dword [edx + 8]
mov eax, dword [edx]
and ecx, 0xfff4ffff
or ecx, 0x40000
mov dword [edx + 8], ecx
mov ecx, edx
push edi
call dword [eax + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x30
call fcn.100344e0
jmp 0x10042824
call fcn.10044c90
mov byte [ebp - 4], 0x32
mov ecx, eax
mov edx, dword [eax]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x30
call fcn.100344e0
jmp 0x10042824
mov ebx, dword [ebp - 0xe8]
lea eax, [ebp - 0x180]
mov byte [ebp - 0xe4], 0
or dword [ebp - 0xe4], 4
lea ecx, [ebp - 0x2c]
push eax
or ebx, 0x400000
lea eax, [ebp - 0xe8]
cmp dword [esi + 0x1c], 0
mov dword [ebp - 0xe8], ebx
push eax
je 0x10042891
call fcn.10044c90
mov edx, eax
mov byte [ebp - 4], 0x33
mov eax, 0x161
mov word [edx + 8], ax
mov ecx, dword [edx + 8]
mov eax, dword [edx]
and ecx, 0xfff2ffff
or ecx, 0x20000
mov dword [edx + 8], ecx
mov ecx, edx
push edi
call dword [eax + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x30
call fcn.100344e0
jmp 0x100428b6
call fcn.10044c90
mov byte [ebp - 4], 0x34
mov ecx, eax
mov edx, dword [eax]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x30
call fcn.100344e0
jmp 0x100428b6
mov ebx, dword [ebp - 0xe8]
lea eax, [ebp - 0x180]
mov byte [ebp - 0xe4], 0
or dword [ebp - 0xe4], 1
lea ecx, [ebp - 0x2c]
push eax
or ebx, 0x400000
lea eax, [ebp - 0xe8]
cmp dword [esi + 0x1c], 0
mov dword [ebp - 0xe8], ebx
push eax
je 0x10042917
call fcn.10044c90
mov edx, eax
mov byte [ebp - 4], 0x35
mov eax, 0x161
mov word [edx + 8], ax
mov ecx, dword [edx + 8]
mov eax, dword [edx]
and ecx, 0xfff1ffff
or ecx, 0x10000
mov dword [edx + 8], ecx
mov ecx, edx
push edi
call dword [eax + 4]
jmp 0x10042928
call fcn.10044c90
mov byte [ebp - 4], 0x36
mov ecx, eax
mov edx, dword [eax]
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x30
call fcn.100344e0
mov ebx, dword [ebp - 0x4c]
mov eax, dword [esi + 0x10]
lea ecx, [ebp - 0x180]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
shr eax, 4
push eax
call fcn.10041090
mov eax, ecx
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x50]
call fcn.1003c940
mov byte [ebp - 4], 0x37
mov ecx, eax
push dword [esi + 0x1c]
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
call fcn.100344e0
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x1004298b
push 1
mov ecx, eax
call fcn.10037d10
test ebx, ebx
je 0x100429c4
mov ecx, dword [ebx + 8]
test ecx, ecx
je 0x100429a4
push 1
call fcn.100344b0
mov dword [ebx + 8], 0
mov ecx, dword [ebx + 0x14]
test ecx, ecx
je 0x100429b9
push 1
call fcn.100344b0
mov dword [ebx + 0x14], 0
push 0x1c
push ebx
call fcn.100a576e
add esp, 8
lea ecx, [ebp - 0x180]
call fcn.10034460
lea ecx, [ebp - 0x134]
call fcn.100344e0
lea ecx, [ebp - 0xe8]
call fcn.10037d70
jmp case.0x10041838.47
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 8]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov edi, eax
mov ecx, dword [ecx + 0xc]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov esi, eax
push dword [ebp - 0x44]
mov ecx, dword [ecx]
call fcn.1003d830
mov ecx, dword [ebx + 0x10]
push dword [ebp - 0x44]
mov dword [ebp - 0x50], eax
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov ecx, dword [ebx + 0xc]
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x64]
mov edx, dword [ecx*4 + 0x100fa3b0]
mov ecx, dword [eax + 0x1c]
mov dword [ebp - 0x48], ecx
inc ecx
push dword [ebp - 0x48]
mov dword [eax + 0x1c], ecx
lea ecx, [ebp - 0x1ac]
push 4
call fcn.1003a290
push esi
push edi
push edx
lea ecx, [ebp - 0xbc]
mov dword [ebp - 4], 0x38
call fcn.10041230
mov byte [ebp - 4], 0x39
lea eax, [ebp - 0x1ac]
mov esi, dword [ebp - 0xb0]
push eax
mov dword [ebp - 0xbc], vtable.IL::InstGenericFetch.0
mov edi, dword [esi + 4]
push edi
push esi
call fcn.1003cbe0
mov edx, dword [ebp - 0xac]
mov ecx, 0x4ec4ec3
sub ecx, edx
cmp ecx, 1
jb 0x1004407e
inc edx
mov dword [ebp - 0xac], edx
mov dword [esi + 4], eax
mov dword [edi], eax
mov esi, dword [ebp - 0xa8]
mov edi, dword [ebp - 0x54]
push edi
mov eax, dword [esi + 4]
push eax
push esi
mov dword [ebp - 0x68], eax
call fcn.1003cb60
mov edx, dword [ebp - 0xa4]
mov ecx, 0x71c71c6
sub ecx, edx
cmp ecx, 1
jb 0x1004407e
mov ecx, dword [ebp - 0x68]
inc edx
mov dword [ebp - 0xa4], edx
mov dword [esi + 4], eax
mov dword [ecx], eax
mov byte [ebp - 4], 0x3a
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 0xc]
cmp dword [eax], 4
jne 0x10042af7
xor al, al
jmp 0x10042afa
mov al, byte [eax + 0xc]
push dword [ebp - 0x60]
movzx eax, al
lea ecx, [ebp - 0xbc]
push eax
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
call fcn.100411b0
mov ecx, eax
call fcn.10041200
mov ecx, eax
call fcn.10041150
mov esi, dword [ebp - 0x44]
mov ecx, eax
push esi
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xbc], vtable.IL::Inst.0
call fcn.10035350
lea ecx, [ebp - 0xb0]
call fcn.100353a0
push dword [ebp - 0x48]
lea ecx, [ebp - 0x130]
push 4
call fcn.1003a3d0
mov byte [ebp - 4], 0x3b
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
shr eax, 4
push eax
call fcn.10041090
mov eax, ecx
lea ecx, [ebp - 0x84]
push eax
push dword [ebp - 0x50]
call fcn.1003c940
mov byte [ebp - 4], 0x3c
mov ecx, eax
push dword [ebx + 0x1c]
call fcn.10041150
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x70]
mov dword [ebp - 0x84], vtable.IL::Inst.0
call fcn.10035350
lea ecx, [ebp - 0x78]
call fcn.100353a0
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x10042bc5
push 1
mov ecx, eax
call fcn.10037d10
test edi, edi
je 0x10042bfe
mov ecx, dword [edi + 8]
test ecx, ecx
je 0x10042bde
push 1
call fcn.100344b0
mov dword [edi + 8], 0
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x10042bf3
push 1
call fcn.100344b0
mov dword [edi + 0x14], 0
push 0x1c
push edi
call fcn.100a576e
add esp, 8
lea ecx, [ebp - 0x130]
call fcn.10034460
lea ecx, [ebp - 0x1ac]
call fcn.10037d70
jmp case.0x10041838.47
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 8]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov edi, eax
mov ecx, dword [ecx + 0xc]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov esi, eax
push dword [ebp - 0x44]
mov ecx, dword [ecx]
call fcn.1003d830
mov ecx, dword [ebx + 0x10]
push dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov ecx, dword [ebx + 0x10]
push dword [ebp - 0x44]
mov dword [ebp - 0x50], eax
mov ecx, dword [ecx + 0x10]
call fcn.1003dfb0
mov ecx, dword [ebx + 0xc]
push eax
push dword [ebp - 0x50]
mov dword [ebp - 0x54], eax
push dword [ebp - 0x48]
push esi
push edi
push dword [ecx*4 + 0x100fa3b0]
lea ecx, [ebp - 0x1b0]
call fcn.100414a0
mov dword [ebp - 4], 0x3d
mov ecx, eax
push dword [ebx + 0x1c]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
call fcn.100411b0
mov ecx, eax
call fcn.10041150
push dword [ebp - 0x44]
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x1b0]
call fcn.100344e0
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x10042cc9
push 1
mov ecx, eax
call fcn.10037d10
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x10042ce2
mov ecx, ebx
call fcn.10034460
push 0x1c
push ebx
call fcn.100a576e
add esp, 8
mov esi, dword [ebp - 0x54]
test esi, esi
je case.0x10041838.47
mov ecx, esi
call fcn.10034460
push 0x1c
push esi
jmp 0x10044011
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 8]
call fcn.1003e8c0
mov edi, dword [ebp - 0x58]
mov ebx, eax
mov ecx, dword [edi + 0x10]
mov ecx, dword [ecx + 0xc]
call fcn.1003e8c0
mov ecx, dword [edi + 0x10]
mov esi, eax
push dword [ebp - 0x44]
mov ecx, dword [ecx]
call fcn.1003d830
mov ecx, dword [edi + 0x10]
push dword [ebp - 0x44]
mov dword [ebp - 0x54], eax
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov ecx, dword [edi + 0x10]
push dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov ecx, dword [ecx + 0x10]
call fcn.1003dfb0
mov ecx, dword [edi + 0xc]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x64]
mov edx, dword [ecx*4 + 0x100fa3b0]
mov edi, dword [eax + 0x1c]
push edi
push 4
lea ecx, [edi + 1]
mov dword [eax + 0x1c], ecx
lea ecx, [ebp - 0x1ac]
call fcn.1003a290
mov dword [ebp - 4], 0x3e
mov eax, ecx
push dword [ebp - 0x50]
lea ecx, [ebp - 0xbc]
push dword [ebp - 0x48]
push eax
push esi
push ebx
push edx
call fcn.100414a0
mov ebx, dword [ebp - 0x58]
mov ecx, eax
push dword [ebp - 0x60]
mov byte [ebp - 4], 0x3f
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
call fcn.100411b0
mov ecx, eax
call fcn.10041150
mov esi, dword [ebp - 0x44]
mov ecx, eax
push esi
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0xbc]
call fcn.100344e0
push edi
push 4
lea ecx, [ebp - 0x84]
call fcn.1003a3d0
mov byte [ebp - 4], 0x40
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
shr eax, 4
push eax
call fcn.10041090
mov edi, dword [ebp - 0x54]
mov eax, ecx
push eax
push edi
lea ecx, [ebp - 0x2c]
call fcn.1003c940
mov byte [ebp - 4], 0x41
mov ecx, eax
push dword [ebx + 0x1c]
call fcn.10041150
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
call fcn.100344e0
test edi, edi
je 0x10042e22
mov ecx, edi
push 1
call fcn.10037d10
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x10042e3b
mov ecx, ebx
call fcn.10034460
push 0x1c
push ebx
call fcn.100a576e
add esp, 8
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x10042e54
mov ecx, ebx
call fcn.10034460
push 0x1c
push ebx
call fcn.100a576e
add esp, 8
lea ecx, [ebp - 0x84]
call fcn.10034460
lea ecx, [ebp - 0x1ac]
call fcn.10037d70
jmp case.0x10041838.47
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 8]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov edi, eax
mov ecx, dword [ecx + 0xc]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov esi, eax
push dword [ebp - 0x44]
mov ecx, dword [ecx]
call fcn.1003d830
mov ecx, dword [ebx + 0x10]
push dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov ecx, dword [ebx + 0x10]
push dword [ebp - 0x44]
mov dword [ebp - 0x50], eax
mov ecx, dword [ecx + 0x10]
call fcn.1003dfb0
mov ecx, dword [ebx + 0x10]
push dword [ebp - 0x44]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ecx + 0x14]
call fcn.1003dfb0
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x64]
mov edx, dword [eax + 0x1c]
push edx
push 4
mov dword [ebp - 0x68], edx
lea ecx, [edx + 1]
mov dword [eax + 0x1c], ecx
lea ecx, [ebp - 0x1ac]
call fcn.1003a290
push esi
push edi
push 0x8a
lea ecx, [ebp - 0xbc]
mov dword [ebp - 4], 0x42
call fcn.10041230
mov byte [ebp - 4], 0x43
lea eax, [ebp - 0x1ac]
mov esi, dword [ebp - 0xb0]
push eax
mov dword [ebp - 0xbc], 0x100fb380
mov edi, dword [esi + 4]
push edi
push esi
call fcn.1003cbe0
mov edx, dword [ebp - 0xac]
mov ecx, 0x4ec4ec3
sub ecx, edx
cmp ecx, 1
jb 0x1004407e
push dword [ebp - 0x50]
inc edx
lea ecx, [ebp - 0xa8]
mov dword [ebp - 0xac], edx
mov dword [esi + 4], eax
mov dword [edi], eax
call fcn.1003ca80
push dword [ebp - 0x4c]
lea ecx, [ebp - 0xa8]
call fcn.1003ca80
mov edi, dword [ebp - 0x54]
lea ecx, [ebp - 0xa8]
push edi
call fcn.1003ca80
push dword [ebp - 0x60]
mov byte [ebp - 4], 0x44
lea ecx, [ebp - 0xbc]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
call fcn.100411b0
mov ecx, eax
call fcn.10041150
mov esi, dword [ebp - 0x44]
mov ecx, eax
push esi
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0xbc]
call fcn.100344e0
push dword [ebp - 0x68]
lea ecx, [ebp - 0x84]
push 4
call fcn.1003a3d0
mov byte [ebp - 4], 0x45
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
shr eax, 4
push eax
call fcn.10041090
mov eax, ecx
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x48]
call fcn.1003c940
mov byte [ebp - 4], 0x46
mov ecx, eax
push dword [ebx + 0x1c]
call fcn.10041150
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
call fcn.100344e0
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x1004300e
push 1
mov ecx, eax
call fcn.10037d10
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x10043027
mov ecx, ebx
call fcn.10034460
push 0x1c
push ebx
call fcn.100a576e
add esp, 8
mov ebx, dword [ebp - 0x4c]
test ebx, ebx
je 0x10043040
mov ecx, ebx
call fcn.10034460
push 0x1c
push ebx
call fcn.100a576e
add esp, 8
test edi, edi
je 0x10042e54
mov ecx, edi
call fcn.10034460
push 0x1c
push edi
jmp 0x10042e4c
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 8]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov edi, eax
mov ecx, dword [ecx + 0xc]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov esi, eax
push dword [ebp - 0x44]
mov ecx, dword [ecx]
call fcn.1003d830
mov ecx, dword [ebx + 0x10]
push dword [ebp - 0x44]
mov dword [ebp - 0x54], eax
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov ecx, dword [ebx + 0x10]
push dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov ecx, dword [ecx + 0x10]
call fcn.1003dfb0
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x64]
mov ebx, dword [eax + 0x1c]
push ebx
push 4
lea ecx, [ebx + 1]
mov dword [eax + 0x1c], ecx
lea ecx, [ebp - 0x1ac]
call fcn.1003a290
push esi
push edi
push 0x13f
lea ecx, [ebp - 0xbc]
mov dword [ebp - 4], 0x47
call fcn.10041230
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 0x48
push eax
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xbc], 0x100fb288
call fcn.1003cad0
push dword [ebp - 0x48]
lea ecx, [ebp - 0xa8]
call fcn.1003ca80
push dword [ebp - 0x50]
lea ecx, [ebp - 0xa8]
call fcn.1003ca80
mov esi, dword [ebp - 0x58]
push dword [ebp - 0x60]
mov byte [ebp - 4], 0x49
push 0
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + 0xc]
call fcn.10041070
movzx eax, al
lea ecx, [ebp - 0xbc]
push eax
push 0
push dword [esi + 0x28]
push dword [esi + 0x24]
call fcn.100411b0
mov ecx, eax
call fcn.10041200
mov ecx, eax
call fcn.10041150
mov edi, dword [ebp - 0x44]
mov ecx, eax
push edi
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0xbc]
call fcn.100344e0
push ebx
push 4
lea ecx, [ebp - 0x84]
call fcn.1003a3d0
mov byte [ebp - 4], 0x4a
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
shr eax, 4
push eax
call fcn.10041090
mov ebx, dword [ebp - 0x54]
mov eax, ecx
push eax
push ebx
lea ecx, [ebp - 0x2c]
call fcn.1003c940
mov byte [ebp - 4], 0x4b
push dword [esi + 0x1c]
mov ecx, eax
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
call fcn.100344e0
test ebx, ebx
je 0x10042e22
mov ecx, ebx
jmp 0x10042e1b
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 0xc]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov edi, eax
mov ecx, dword [ecx + 0x10]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov esi, eax
push dword [ebp - 0x44]
mov ecx, dword [ecx]
call fcn.1003d830
mov ecx, dword [ebx + 0x10]
push dword [ebp - 0x44]
mov dword [ebp - 0x54], eax
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov ecx, dword [ebx + 0x10]
push dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov ecx, dword [ecx + 8]
call fcn.1003dfb0
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x64]
mov ebx, dword [eax + 0x1c]
push ebx
push 4
lea ecx, [ebx + 1]
mov dword [eax + 0x1c], ecx
lea ecx, [ebp - 0x1ac]
call fcn.1003a290
push esi
push edi
push 0x140
lea ecx, [ebp - 0xbc]
mov dword [ebp - 4], 0x4c
call fcn.10041230
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 0x4d
push eax
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xbc], 0x100fb2b8
call fcn.1003cad0
push dword [ebp - 0x48]
lea ecx, [ebp - 0xa8]
call fcn.1003ca80
push dword [ebp - 0x50]
lea ecx, [ebp - 0xa8]
call fcn.1003ca80
mov esi, dword [ebp - 0x58]
push dword [ebp - 0x60]
mov byte [ebp - 4], 0x4e
push 0
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + 0x10]
call fcn.10041070
movzx eax, al
lea ecx, [ebp - 0xbc]
push eax
call fcn.10041200
mov ecx, eax
call fcn.10041150
mov edi, dword [ebp - 0x44]
mov ecx, eax
push edi
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0xbc]
call fcn.100344e0
push ebx
push 4
lea ecx, [ebp - 0x84]
call fcn.1003a3d0
mov byte [ebp - 4], 0x4f
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
shr eax, 4
push eax
call fcn.10041090
mov ebx, dword [ebp - 0x54]
mov eax, ecx
push eax
push ebx
lea ecx, [ebp - 0x2c]
call fcn.1003c940
mov byte [ebp - 4], 0x50
jmp 0x1004319b
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 0xc]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov edi, eax
mov ecx, dword [ecx + 0x10]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov esi, eax
push dword [ebp - 0x44]
mov ecx, dword [ecx]
call fcn.1003d830
mov ecx, dword [ebx + 0x10]
push dword [ebp - 0x44]
mov dword [ebp - 0x54], eax
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov ecx, dword [ebx + 0x10]
push dword [ebp - 0x44]
mov dword [ebp - 0x48], eax
mov ecx, dword [ecx + 0x14]
call fcn.1003dfb0
mov ecx, dword [ebx + 0x10]
push dword [ebp - 0x44]
mov dword [ebp - 0x50], eax
mov ecx, dword [ecx + 8]
call fcn.1003dfb0
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp - 0x64]
mov ebx, dword [eax + 0x1c]
push ebx
push 4
lea ecx, [ebx + 1]
mov dword [eax + 0x1c], ecx
lea ecx, [ebp - 0x1ac]
call fcn.1003a290
push esi
push edi
push 0x141
lea ecx, [ebp - 0xbc]
mov dword [ebp - 4], 0x51
call fcn.10041230
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 0x52
push eax
lea ecx, [ebp - 0xb0]
mov dword [ebp - 0xbc], 0x100fb298
call fcn.1003cad0
push dword [ebp - 0x48]
lea ecx, [ebp - 0xa8]
call fcn.1003ca80
push dword [ebp - 0x50]
lea ecx, [ebp - 0xa8]
call fcn.1003ca80
push dword [ebp - 0x4c]
lea ecx, [ebp - 0xa8]
call fcn.1003ca80
mov esi, dword [ebp - 0x58]
push dword [ebp - 0x60]
mov byte [ebp - 4], 0x53
push 0
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + 0x10]
call fcn.10041070
movzx eax, al
lea ecx, [ebp - 0xbc]
push eax
call fcn.10041200
mov ecx, eax
call fcn.10041150
mov edi, dword [ebp - 0x44]
mov ecx, eax
push edi
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0xbc]
call fcn.100344e0
push ebx
push 4
lea ecx, [ebp - 0x84]
call fcn.1003a3d0
mov byte [ebp - 4], 0x54
mov eax, dword [esi + 0x10]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
shr eax, 4
push eax
call fcn.10041090
mov ebx, dword [ebp - 0x54]
mov eax, ecx
push eax
push ebx
lea ecx, [ebp - 0x2c]
call fcn.1003c940
mov byte [ebp - 4], 0x55
mov ecx, eax
push dword [esi + 0x1c]
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
call fcn.100344e0
test ebx, ebx
je 0x10043479
push 1
mov ecx, ebx
call fcn.10037d10
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x10043492
mov ecx, ebx
call fcn.10034460
push 0x1c
push ebx
call fcn.100a576e
add esp, 8
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je 0x100434ab
mov ecx, ebx
call fcn.10034460
push 0x1c
push ebx
call fcn.100a576e
add esp, 8
mov ebx, dword [ebp - 0x4c]
jmp 0x10042e3e
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 8]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov edi, eax
mov esi, dword [ebp - 0x44]
push esi
mov ecx, dword [ecx]
call fcn.1003d830
mov ecx, dword [ebx + 0x10]
push esi
mov dword [ebp - 0x48], eax
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x64]
mov ebx, dword [eax + 0x1c]
push ebx
push 4
lea ecx, [ebx + 1]
mov dword [eax + 0x1c], ecx
lea ecx, [ebp - 0x1ac]
call fcn.1003a290
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 4], 0x56
push 0
mov ecx, dword [ecx + 0x10]
mov ecx, dword [ecx + 8]
call fcn.1003ea20
mov ecx, dword [ebp - 0x5c]
push 0xe0
mov esi, dword [ecx + eax*8 + 0x3a5c]
lea ecx, [ebp - 0x8c]
call fcn.10034580
mov eax, dword [ebp - 0x88]
shl edi, 0x10
xor edi, eax
mov dword [ebp - 0x70], 0
and edi, 0x3ff0000
mov dword [ebp - 0x6c], 0
xor eax, edi
mov dword [ebp - 0x88], eax
lea eax, [ebp - 0x1ac]
mov byte [ebp - 4], 0x57
push eax
lea ecx, [ebp - 0x80]
mov dword [ebp - 0x8c], 0x100fb2e8
call fcn.1003cad0
mov edi, dword [ebp - 0x54]
lea ecx, [ebp - 0x78]
push edi
call fcn.1003ca80
push dword [ebp - 0x60]
xor ecx, ecx
mov byte [ebp - 4], 0x58
mov eax, 0x8000000
cmp esi, 1
cmove ecx, eax
mov eax, dword [ebp - 0x88]
and eax, 0xf3ffffff
or ecx, eax
mov dword [ebp - 0x88], ecx
lea ecx, [ebp - 0x8c]
call fcn.10041150
mov esi, dword [ebp - 0x44]
mov ecx, eax
push esi
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x8c]
call fcn.100344e0
push ebx
push 4
lea ecx, [ebp - 0x84]
call fcn.1003a3d0
mov ebx, dword [ebp - 0x58]
mov byte [ebp - 4], 0x59
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
shr eax, 4
push eax
call fcn.10041090
mov eax, ecx
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x48]
call fcn.1003c940
mov byte [ebp - 4], 0x5a
mov ecx, eax
push dword [ebx + 0x1c]
call fcn.10041150
push esi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
call fcn.100344e0
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x10043040
push 1
mov ecx, eax
call fcn.10037d10
jmp 0x10043040
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov esi, eax
push edi
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov ecx, dword [ebx + 0x10]
push edi
mov dword [ebp - 0x48], eax
mov ecx, dword [ecx + 8]
call fcn.1003dfb0
push 0xe3
lea ecx, [ebp - 0x34]
mov dword [ebp - 0x54], eax
call fcn.10034580
mov ecx, dword [ebp - 0x30]
shl esi, 0x10
xor esi, ecx
mov dword [ebp - 0x18], 0
and esi, 0x3ff0000
mov dword [ebp - 0x14], 0
xor ecx, esi
mov dword [ebp - 0x30], ecx
push dword [ebp - 0x48]
mov dword [ebp - 4], 0x5b
lea ecx, [ebp - 0x20]
mov dword [ebp - 0x34], 0x100fb400
call fcn.1003ca80
mov esi, dword [ebp - 0x54]
lea ecx, [ebp - 0x20]
push esi
call fcn.1003ca80
mov dword [ebp - 4], 0x5c
lea ecx, [ebp - 0x34]
push dword [ebx + 0x1c]
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x34]
call fcn.100344e0
mov ebx, dword [ebp - 0x48]
test ebx, ebx
je 0x10042ce5
mov ecx, ebx
call fcn.10034460
push 0x1c
push ebx
call fcn.100a576e
add esp, 8
jmp 0x10042ce5
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 8]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x4c], eax
push edi
mov edx, dword [ecx + 8]
mov ecx, dword [ecx]
mov eax, dword [edx]
mov dword [ebp - 0x54], eax
call fcn.1003d830
mov ecx, dword [ebx + 0x10]
push edi
mov dword [ebp - 0x48], eax
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov dword [ebp - 0x58], eax
mov eax, dword [esi + 0x1c]
push eax
push 4
mov dword [ebp - 0x68], eax
lea ecx, [eax + 1]
mov dword [esi + 0x1c], ecx
lea ecx, [ebp - 0xb8]
call fcn.1003a290
mov dword [ebp - 4], 0x5d
mov eax, dword [ebp - 0x54]
cmp eax, 7
jne 0x100437c0
push 0x104
lea ecx, [ebp - 0x30]
call fcn.10034580
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x2c]
shl ecx, 0x10
xor ecx, eax
mov dword [ebp - 0x14], 0
and ecx, 0x3ff0000
xor eax, ecx
mov dword [ebp - 0x2c], eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x5e
push eax
lea ecx, [ebp - 0x24]
mov dword [ebp - 0x30], 0x100fb3e0
call fcn.1003cad0
mov esi, dword [ebp - 0x58]
lea ecx, [ebp - 0x1c]
push esi
call fcn.1003ca80
push dword [ebp - 0x60]
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x5f
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x30]
call fcn.100344e0
jmp 0x10043872
cmp eax, 0x1e
jne 0x10043905
mov ecx, dword [ebx + 0x10]
push 0
mov ecx, dword [ecx + 8]
call fcn.1003ea20
mov ecx, dword [ebp - 0x5c]
push 0xe1
mov esi, dword [ecx + eax*8 + 0x3a5c]
lea ecx, [ebp - 0x34]
call fcn.10034580
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ebp - 0x30]
shl ecx, 0x10
xor ecx, eax
mov dword [ebp - 0x18], 0
and ecx, 0x3ff0000
mov dword [ebp - 0x14], 0
xor eax, ecx
mov dword [ebp - 0x30], eax
lea eax, [ebp - 0xb8]
mov byte [ebp - 4], 0x60
push eax
lea ecx, [ebp - 0x28]
mov dword [ebp - 0x34], 0x100fb2c8
call fcn.1003cad0
push dword [ebp - 0x58]
lea ecx, [ebp - 0x20]
call fcn.1003ca80
push dword [ebp - 0x60]
xor ecx, ecx
mov byte [ebp - 4], 0x61
mov eax, 0x8000000
cmp esi, 1
cmove ecx, eax
mov eax, dword [ebp - 0x30]
and eax, 0xf3ffffff
or ecx, eax
mov dword [ebp - 0x30], ecx
lea ecx, [ebp - 0x34]
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x34]
call fcn.100344e0
mov esi, dword [ebp - 0x58]
push dword [ebp - 0x68]
lea ecx, [ebp - 0x84]
push 4
call fcn.1003a3d0
mov byte [ebp - 4], 0x63
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 8]
mov eax, dword [eax + 0x10]
shr eax, 4
push eax
call fcn.10041090
mov eax, ecx
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x48]
call fcn.1003c940
mov byte [ebp - 4], 0x64
mov ecx, eax
push dword [ebx + 0x1c]
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
call fcn.100344e0
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x100438d4
push 1
mov ecx, eax
call fcn.10037d10
test esi, esi
je 0x100438ea
mov ecx, esi
call fcn.10034460
push 0x1c
push esi
call fcn.100a576e
add esp, 8
lea ecx, [ebp - 0x84]
call fcn.10034460
lea ecx, [ebp - 0xb8]
call fcn.10037d70
jmp case.0x10041838.47
cmp eax, 0x1f
jne 0x1004386f
mov esi, dword [ebp - 0x58]
lea eax, [ebp - 0xb8]
push esi
push esi
push eax
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x2c]
call fcn.10044470
push dword [ebp - 0x60]
mov ecx, eax
mov byte [ebp - 4], 0x62
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
call fcn.100344e0
jmp 0x10043872
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov esi, eax
push 0x2c
mov ecx, dword [ecx]
mov eax, dword [ecx]
mov dword [ebp - 0x54], eax
call fcn.100a573e
add esp, 4
mov dword [ebp - 0x68], eax
mov ecx, eax
push 0
push 0x2f
call fcn.1003a290
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
shr ecx, 4
push ecx
mov ecx, eax
call fcn.1003a300
mov ecx, dword [ebx + 0x10]
push edi
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov ecx, dword [ebx + 0x10]
push edi
mov dword [ebp - 0x5c], eax
mov ecx, dword [ecx + 8]
call fcn.1003dfb0
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x48], eax
cmp ecx, 0x1e
jne 0x10043a38
push 0xe4
lea ecx, [ebp - 0x34]
call fcn.10034580
mov ecx, dword [ebp - 0x30]
shl esi, 0x10
xor esi, ecx
mov dword [ebp - 0x18], 0
and esi, 0x3ff0000
mov dword [ebp - 0x14], 0
xor ecx, esi
mov dword [ebp - 0x30], ecx
mov dword [ebp - 4], 0x65
lea ecx, [ebp - 0x28]
push dword [ebp - 0x4c]
mov dword [ebp - 0x34], 0x100fb3f0
call fcn.1003cad0
mov esi, dword [ebp - 0x5c]
lea ecx, [ebp - 0x20]
push esi
call fcn.1003ca80
push dword [ebp - 0x48]
lea ecx, [ebp - 0x20]
call fcn.1003ca80
mov dword [ebp - 4], 0x66
lea ecx, [ebp - 0x34]
push dword [ebx + 0x1c]
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x34]
call fcn.100344e0
jmp 0x10043a73
cmp ecx, 0x1f
jne 0x10043a70
push eax
mov eax, dword [ebp - 0x5c]
lea ecx, [ebp - 0x2c]
push eax
push eax
push dword [ebp - 0x4c]
push esi
call fcn.10044340
mov dword [ebp - 4], 0x67
mov ecx, eax
push dword [ebx + 0x1c]
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
call fcn.100344e0
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x10043a83
push 1
mov ecx, eax
call fcn.10037d10
test esi, esi
je 0x10043a99
mov ecx, esi
call fcn.10034460
push 0x1c
push esi
call fcn.100a576e
add esp, 8
mov ebx, dword [ebp - 0x48]
jmp 0x10044003
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx + 0xc]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
push edi
mov dword [ebp - 0x4c], eax
mov edx, dword [ecx + 0xc]
mov ecx, dword [ecx]
mov edx, dword [edx]
mov dword [ebp - 0x48], edx
call fcn.1003d830
mov ecx, dword [ebx + 0x10]
push edi
mov dword [ebp - 0x50], eax
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov ecx, dword [ebx + 0x10]
push edi
mov dword [ebp - 0x64], eax
mov ecx, dword [ecx + 8]
call fcn.1003dfb0
mov edx, dword [esi + 0x1c]
push edx
push 4
mov dword [ebp - 0x58], eax
lea ecx, [edx + 1]
mov dword [esi + 0x1c], ecx
lea ecx, [ebp - 0x164]
call fcn.1003a290
push edx
push 4
lea ecx, [ebp - 0x130]
mov dword [ebp - 4], 0x68
call fcn.1003a3d0
mov eax, dword [ebp - 0x48]
mov byte [ebp - 4], 0x69
cmp eax, 7
je 0x10043b69
cmp eax, 0x1e
je 0x10043b69
mov esi, dword [ebp - 0x58]
cmp eax, 0x1f
jne 0x10043d11
push esi
push dword [ebp - 0x64]
lea eax, [ebp - 0x164]
push eax
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x2c]
call fcn.10044470
push dword [ebp - 0x60]
mov ecx, eax
mov byte [ebp - 4], 0x70
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x69
call fcn.100344e0
jmp 0x10043d11
mov edx, dword [esi + 0x1c]
lea ecx, [ebp - 0xb8]
push edx
push 4
lea eax, [edx + 1]
mov dword [esi + 0x1c], eax
call fcn.1003a290
push edx
push 4
lea ecx, [ebp - 0x84]
call fcn.1003a3d0
push dword [ebp - 0x64]
mov byte [ebp - 4], 0x6b
lea eax, [ebp - 0xb8]
mov esi, dword [ebp - 0xb8]
lea ecx, [ebp - 0x2c]
or esi, 0x400000
mov byte [ebp - 0xb4], 0
or dword [ebp - 0xb4], 1
push eax
mov dword [ebp - 0xb8], esi
call fcn.1003c940
push 0
push 0
push 0
push 1
mov ecx, eax
mov byte [ebp - 4], 0x6c
call fcn.100410e0
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x6b
call fcn.100344e0
or esi, 0x400000
mov byte [ebp - 0xb4], 0
or dword [ebp - 0xb4], 4
lea eax, [ebp - 0xb8]
mov dword [ebp - 0xb8], esi
lea ecx, [ebp - 0x204]
mov esi, dword [ebp - 0x58]
push esi
push eax
call fcn.1003c940
push 0
push 0
push 1
push 0
mov ecx, eax
mov byte [ebp - 4], 0x6d
call fcn.100410e0
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x204]
mov byte [ebp - 4], 0x6b
call fcn.100344e0
mov edx, dword [ebp - 0x48]
cmp edx, 7
jne 0x10043c86
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x164]
push eax
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x30]
call fcn.1003c6d0
push dword [ebp - 0x60]
mov ecx, eax
mov byte [ebp - 4], 0x6e
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x30]
call fcn.100344e0
jmp 0x10043cf7
cmp edx, 0x1e
jne 0x10043cf7
mov ecx, dword [ebx + 0x10]
push 0
mov ecx, dword [ecx + 8]
call fcn.1003ea20
mov ecx, dword [ebp - 0x5c]
mov esi, dword [ecx + eax*8 + 0x3a5c]
lea eax, [ebp - 0x84]
push eax
lea eax, [ebp - 0x164]
push eax
push dword [ebp - 0x4c]
lea ecx, [ebp - 0x34]
call fcn.1003c5f0
push dword [ebp - 0x60]
xor edx, edx
mov byte [ebp - 4], 0x6f
mov ecx, 0x8000000
cmp esi, 1
cmove edx, ecx
mov ecx, dword [eax + 4]
and ecx, 0xf3ffffff
or edx, ecx
mov ecx, eax
mov dword [eax + 4], edx
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x34]
call fcn.100344e0
mov esi, dword [ebp - 0x58]
lea ecx, [ebp - 0x84]
call fcn.10034460
lea ecx, [ebp - 0xb8]
mov byte [ebp - 4], 0x69
call fcn.10037d70
mov eax, dword [ebx + 0x10]
lea ecx, [ebp - 0x130]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
shr eax, 4
push eax
call fcn.10041090
mov eax, ecx
lea ecx, [ebp - 0x2c]
push eax
push dword [ebp - 0x50]
call fcn.1003c940
mov byte [ebp - 4], 0x71
mov ecx, eax
push dword [ebx + 0x1c]
call fcn.10041150
push edi
mov ecx, eax
mov edx, dword [eax]
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
call fcn.100344e0
mov eax, dword [ebp - 0x50]
test eax, eax
je 0x10043d65
push 1
mov ecx, eax
call fcn.10037d10
mov ebx, dword [ebp - 0x64]
test ebx, ebx
je 0x10043d7e
mov ecx, ebx
call fcn.10034460
push 0x1c
push ebx
call fcn.100a576e
add esp, 8
test esi, esi
je 0x10043d94
mov ecx, esi
call fcn.10034460
push 0x1c
push esi
call fcn.100a576e
add esp, 8
lea ecx, [ebp - 0x130]
call fcn.10034460
lea ecx, [ebp - 0x164]
call fcn.10037d70
jmp case.0x10041838.47
mov ecx, dword [ebx + 0x10]
mov ecx, dword [ecx]
call fcn.1003e8c0
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x48], eax
push 0x2c
mov ecx, dword [ecx]
mov eax, dword [ecx]
mov dword [ebp - 0x54], eax
call fcn.100a573e
add esp, 4
mov dword [ebp - 0x68], eax
mov ecx, eax
push 0
push 0x2f
call fcn.1003a290
mov ecx, dword [ebx + 0x10]
mov dword [ebp - 0x4c], eax
mov ecx, dword [ecx]
mov ecx, dword [ecx + 0xc]
shr ecx, 4
push ecx
mov ecx, eax
call fcn.1003a300
mov ecx, dword [ebx + 0x10]
push edi
mov ecx, dword [ecx + 4]
call fcn.1003dfb0
mov ecx, dword [ebx + 0x10]
push edi
mov dword [ebp - 0x58], eax
mov ecx, dword [ecx + 8]
call fcn.1003dfb0
mov ecx, dword [ebx + 0x10]
push edi
mov dword [ebp - 0x5c], eax
mov ecx, dword [ecx + 0xc]
call fcn.1003dfb0
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x50], eax
cmp ecx, 0x1e
jne 0x10044037
mov eax, dword [esi + 0x1c]
push eax
push 4
mov dword [ebp - 0x54], eax
lea ecx, [eax + 1]
mov dword [esi + 0x1c], ecx
lea ecx, [ebp - 0x164]
call fcn.1003a290
push dword [ebp - 0x58]
mov dword [ebp - 4], 0x72
mov eax, ecx
mov esi, dword [ebp - 0x164]
lea ecx, [ebp - 0x2c]
or esi, 0x400000
mov byte [ebp - 0x160], 0
or dword [ebp - 0x160], 1
cmp dword [ebx + 0x1c], 0
mov dword [ebp - 0x164], esi
push eax
je 0x10043e97
call fcn.1003c940
push 0
push 0
push 0
push 1
mov ecx, eax
mov byte [ebp - 4], 0x73
call fcn.100410e0
jmp 0x10043ea0
call fcn.1003c940
mov byte [ebp - 4], 0x74
mov edx, dword [eax]
mov ecx, eax
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
mov byte [ebp - 4], 0x72
call fcn.100344e0
push dword [ebp - 0x5c]
or esi, 0x400000
mov byte [ebp - 0x160], 0
or dword [ebp - 0x160], 4
lea eax, [ebp - 0x164]
cmp dword [ebx + 0x1c], 0
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x164], esi
push eax
je 0x10043efb
call fcn.1003c940
push 0
push 0
push 1
push 0
mov ecx, eax
mov byte [ebp - 4], 0x75
call fcn.100410e0
jmp 0x10043f04
call fcn.1003c940
mov byte [ebp - 4], 0x76
mov edx, dword [eax]
mov ecx, eax
push edi
call dword [edx + 4]
lea ecx, [ebp - 0x2c]
call fcn.100344e0
push dword [ebp - 0x54]
lea ecx, [ebp - 0x84]
push 4
call fcn.1003a3d0
push 0xe5
lea ecx, [ebp - 0x34]
mov byte [ebp - 4], 0x77
call fcn.10034580
mov ecx, dword [ebp - 0x48]
mov eax, dword [ebp - 0x30]
shl ecx, 0x10
xor ecx, eax
mov dword [ebp - 0x18], 0
and ecx, 0x3ff0000
mov dword [ebp - 0x14], 0
xor eax, ecx
mov dword [ebp - 0x30], eax
mov byte [ebp - 4], 0x78
lea ecx, [ebp - 0x28]
push dword [ebp - 0x4c]
mov dword [ebp - 0x34], 0x100fb3b0
call fcn.1003cad0
lea eax, [ebp - 0x84]
push eax
lea ecx, [ebp - 0x20]
call fcn.1003ca80
push dword [ebp - 0x50]
lea ecx, [ebp - 0x20]
call fcn.1003ca80
mov byte [ebp - 4], 0x79
lea ecx, [ebp - 0x34]
push dword [ebx + 0x1c]
call fcn.10041150
push eax
mov ecx, edi
call fcn.1003a1b0
lea ecx, [ebp - 0x34]
call fcn.100344e0
lea ecx, [ebp - 0x84]
call fcn.10034460
lea ecx, [ebp - 0x164]
call fcn.10037d70
mov esi, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x4c]
test eax, eax
je 0x10043fd1
push 1
mov ecx, eax
call fcn.10037d10
mov ebx, dword [ebp - 0x58]
test ebx, ebx
je 0x10043fea
mov ecx, ebx
call fcn.10034460
push 0x1c
push ebx
call fcn.100a576e
add esp, 8
test esi, esi
je 0x10044000
mov ecx, esi
call fcn.10034460
push 0x1c
push esi
call fcn.100a576e
add esp, 8
mov ebx, dword [ebp - 0x50]
test ebx, ebx
je case.0x10041838.47
mov ecx, ebx
call fcn.10034460
push 0x1c
push ebx
call fcn.100a576e
add esp, 8
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.100a647f
mov esp, ebp
pop ebp
ret 4
cmp ecx, 0x1f
jne 0x10043fbe
mov esi, dword [ebp - 0x5c]
lea ecx, [ebp - 0x84]
push eax
push esi
push dword [ebp - 0x58]
push dword [ebp - 0x4c]
push dword [ebp - 0x48]
call fcn.10044340
mov dword [ebp - 4], 0x7a
mov ecx, eax
push dword [ebx + 0x1c]
call fcn.10041150
push eax
mov ecx, edi
call fcn.1003a1b0
lea ecx, [ebp - 0x84]
call fcn.100344e0
jmp 0x10043fc1
push str.list_T__too_long
call fcn.100a4817
aas
sbb byte [eax + edx], al
in eax, 0x19
add al, 16
lds esp, [0x29ea1004]
add al, 16
sbb dword [esp + eax], ebp
adc ah, bh
sub al, 4
adc byte [edi + 0x2e], ch
add al, 0x10
push edi
xor byte [eax + edx], al
les esi, [ecx]
add al, 16
invalid