Function at 0x10029b84
Capabilities:
Parse pe header

Disassembly:
push 0x10c
mov eax, 0x1005d2f5
call fcn.10057b04
mov esi, ecx
mov dword [ebp - 0x50], esi
mov eax, dword [ebp + 0x14]
mov edx, dword [ebp + 0x10]
mov edi, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [ebp - 0x54], eax
mov eax, dword [esi + 4]
mov ecx, dword [edx + 4]
add eax, 0xffffffe6
mov dword [ebp - 0x3c], edi
mov dword [ebp - 0x5c], ebx
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x34], ecx
cmp eax, 0x23
ja case.default.0x10029bc5
jmp dword [eax*4 + 0x1002c130]
test ecx, ecx
je 0x10029c0e
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], ebx
call fcn.10041f9c
mov byte [ebp - 4], 1
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x30]
push eax
push 0x31
push ebx
push edi
mov ecx, esi
call fcn.10041f9c
lea ecx, [ebp - 0x30]
call fcn.10041f9c
lea ecx, [ebp - 0x20]
jmp 0x1002c11f
mov ecx, dword [ebp - 0x54]
call fcn.1003bf32
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push ecx
push ecx
lea ecx, [ebp - 0x44]
movsd qword [esp], xmm0
call fcn.10041f9c
push eax
mov ecx, ebx
call fcn.10041f9c
jmp 0x1002c0cd
test ecx, ecx
je 0x10029c5f
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 2
call fcn.10041f9c
mov byte [ebp - 4], 3
jmp 0x10029beb
mov ecx, dword [ebp - 0x54]
call fcn.1003bf2b
inc eax
jmp 0x10029c16
cmp ecx, 1
je 0x10029c93
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 4
call fcn.10041f9c
mov byte [ebp - 4], 5
jmp 0x10029beb
mov eax, dword [edx + 8]
mov ecx, dword [eax]
cmp dword [ecx], 3
je 0x10029ccb
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 6
call fcn.10041f9c
mov byte [ebp - 4], 7
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x30]
push eax
push 0x32
jmp 0x10029bf5
call fcn.1001ac76
mov ecx, eax
jmp 0x10029c11
cmp ecx, 1
jle 0x10029d00
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 8
call fcn.10041f9c
mov byte [ebp - 4], 9
jmp 0x10029beb
test ecx, ecx
jne 0x10029d0e
mov ecx, dword [ebp - 0x54]
call fcn.1003c03d
jmp 0x10029d48
mov eax, dword [edx + 8]
mov ecx, dword [eax]
cmp dword [ecx], 3
je 0x10029d39
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0xa
call fcn.10041f9c
mov byte [ebp - 4], 0xb
jmp 0x10029cbc
call fcn.1001ac76
mov ecx, eax
mov dword [ebp - 0x54], eax
call fcn.1003c052
test eax, eax
jne 0x1002c068
mov ecx, dword [ebp - 0x54]
call fcn.1003be15
mov edx, eax
mov dword [ebp - 0x5c], edx
test edx, edx
je 0x1002c068
test edx, 1
je 0x10029dfe
mov eax, dword [esi + 4]
xor ecx, ecx
mov dword [ebp - 0x34], ecx
sub eax, 0x1e
je 0x10029db4
sub eax, 1
je 0x10029da7
sub eax, 1
jne 0x10029dd4
mov edi, dword [edi + 0xb0]
mov eax, dword [edi]
mov esi, dword [eax + 8]
push edx
mov ecx, esi
call dword [0x10060144]
mov ecx, edi
call esi
mov ecx, eax
mov dword [ebp - 0x34], ecx
jmp 0x10029dd1
mov edi, dword [edi + 0xb0]
mov eax, dword [edi]
mov esi, dword [eax + 0xc]
jmp 0x10029d93
mov edi, dword [edi + 0xb0]
push edx
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x10060144]
mov ecx, edi
call esi
mov ecx, eax
mov dword [ebp - 0x34], eax
mov edi, dword [ebp - 0x3c]
push ecx
mov ecx, ebx
call fcn.10030a87
mov edi, dword [edi + 0xb0]
push dword [ebp - 0x34]
push dword [ebp - 0x5c]
mov eax, dword [edi]
mov esi, dword [eax + 0x5c]
mov ecx, esi
call dword [0x10060144]
mov ecx, edi
call esi
jmp 0x1002c0cd
mov eax, dword [edx]
mov esi, dword [eax + 0x1c]
mov ecx, esi
call dword [0x10060144]
mov edi, dword [ebp - 0x5c]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x50]
mov dword [ebp - 0x58], eax
mov ecx, dword [esi + 4]
sub ecx, 0x1e
je 0x10029e6c
sub ecx, 1
je 0x10029e54
sub ecx, 1
jne 0x1002c0cd
lea ecx, [ebp - 0x30]
call fcn.1001b400
mov ecx, dword [edi + 4]
lea eax, [ebp - 0x30]
push eax
push dword [ebp - 0x58]
mov dword [ebp - 4], 0xc
call fcn.10041f9c
lea eax, [ebp - 0x30]
jmp 0x1002c0af
push dword [eax + 4]
mov ecx, dword [edi + 4]
call fcn.10041f9c
push eax
mov ecx, ebx
call fcn.10030a00
jmp 0x1002c0cd
push dword [eax + 8]
jmp 0x10029e57
lea ecx, [ebp - 0x30]
call fcn.1001b400
mov eax, dword [ebp - 0x34]
mov dword [ebp - 4], 0xd
cmp eax, 1
jle 0x10029ecf
xor ebx, ebx
lea ecx, [ebp - 0x4c]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0xe
call fcn.10041f9c
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0xf
push eax
lea eax, [ebp - 0x20]
mov ecx, esi
push eax
push 0x31
push ebx
push edi
call fcn.10041f9c
lea ecx, [ebp - 0x20]
call fcn.10041f9c
lea ecx, [ebp - 0x4c]
call fcn.10041f9c
lea ecx, [ebp - 0x30]
jmp 0x1002c11f
test eax, eax
lea eax, [ebp - 0x30]
jne 0x10029eec
push dword [ebp - 0x54]
push eax
push edi
call fcn.1002df4d
add esp, 0xc
test eax, eax
jne 0x10029ec7
jmp 0x10029e4c
mov ecx, dword [ebp - 0x38]
push eax
push edi
mov ecx, dword [ecx + 8]
mov ecx, dword [ecx]
call fcn.10031865
jmp 0x10029ee3
cmp ecx, 2
jge 0x10029f26
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x10
call fcn.10041f9c
mov byte [ebp - 4], 0x11
jmp 0x10029beb
lea ecx, [ebp - 0xc4]
call fcn.10041f9c
and dword [ebp - 0x3c], 0
mov esi, dword [ebp - 0x34]
mov dword [ebp - 4], 0x12
lea ecx, [ebp - 0x30]
call fcn.1001b400
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0x13
mov ecx, dword [eax + 8]
lea eax, [ebp - 0x30]
push eax
mov eax, dword [ebp - 0x3c]
push edi
mov ecx, dword [ecx + eax*4]
call fcn.10031865
test eax, eax
jne 0x10029fa9
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0xc4]
call fcn.10041f9c
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x12
call fcn.10041f9c
mov eax, dword [ebp - 0x3c]
inc eax
mov dword [ebp - 0x3c], eax
cmp eax, esi
jl 0x10029f3f
lea eax, [ebp - 0xc4]
mov ecx, ebx
push eax
call fcn.10030981
lea ecx, [ebp - 0xc4]
call fcn.1001b414
jmp 0x1002c0cd
lea ecx, [ebp - 0x30]
call fcn.10041f9c
lea ecx, [ebp - 0xc4]
call fcn.1001b414
jmp 0x1002c124
cmp ecx, 2
je 0x1002a008
xor ebx, ebx
lea ecx, [ebp - 0x6c]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0x14
call fcn.10041f9c
mov byte [ebp - 4], 0x15
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x4c]
push eax
push 0x31
push ebx
push edi
mov ecx, esi
call fcn.10041f9c
lea ecx, [ebp - 0x4c]
call fcn.10041f9c
lea ecx, [ebp - 0x6c]
jmp 0x1002c11f
lea ecx, [ebp - 0x20]
call fcn.1001b400
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x16
call fcn.1001b400
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x20]
push eax
push edi
mov byte [ebp - 4], 0x17
mov ecx, dword [esi + 8]
mov ecx, dword [ecx]
call fcn.10031865
test eax, eax
jne 0x10029bfe
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x30]
push eax
push edi
mov ecx, dword [ecx + 4]
call fcn.10031865
test eax, eax
jne 0x10029bfe
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
push eax
mov eax, dword [ebp - 0x20]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x20]
call esi
push eax
call fcn.10041f9c
neg eax
pop ecx
sbb eax, eax
pop ecx
inc eax
push eax
mov ecx, ebx
call fcn.10041f9c
lea ecx, [ebp - 0x30]
call fcn.10041f9c
lea ecx, [ebp - 0x20]
jmp 0x1002c0c8
cmp ecx, 2
je 0x1002a0ca
xor ebx, ebx
lea ecx, [ebp - 0x6c]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0x18
call fcn.10041f9c
mov byte [ebp - 4], 0x19
jmp 0x10029fe5
lea ecx, [ebp - 0x20]
call fcn.1001b400
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x1a
call fcn.1001b400
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x20]
push eax
push edi
mov byte [ebp - 4], 0x1b
mov ecx, dword [esi + 8]
mov ecx, dword [ecx]
call fcn.10031865
test eax, eax
jne 0x10029bfe
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x30]
push eax
push edi
mov ecx, dword [ecx + 4]
call fcn.10031865
test eax, eax
jne 0x10029bfe
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
push eax
mov eax, dword [ebp - 0x20]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x20]
call esi
push eax
call fcn.10041f9c
pop ecx
pop ecx
xor ecx, ecx
cmp eax, 0xffffffff
setne cl
push ecx
jmp 0x1002a08a
lea ecx, [ebp - 0x4c]
call fcn.1001b400
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x1c
call fcn.1001b400
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x1d
call fcn.1001b400
cmp dword [ebp - 0x34], 2
mov byte [ebp - 4], 0x1e
je 0x1002a1d8
xor ebx, ebx
lea ecx, [ebp - 0x80]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x1f
call fcn.10041f9c
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0x20
push eax
lea eax, [ebp - 0x6c]
mov ecx, esi
push eax
push 0x31
push ebx
push edi
call fcn.10041f9c
lea ecx, [ebp - 0x6c]
call fcn.10041f9c
lea ecx, [ebp - 0x80]
call fcn.10041f9c
lea ecx, [ebp - 0x20]
call fcn.10041f9c
lea ecx, [ebp - 0x30]
call fcn.10041f9c
lea ecx, [ebp - 0x4c]
jmp 0x1002c11f
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x30]
push eax
push edi
mov ecx, dword [esi + 8]
mov ecx, dword [ecx]
call fcn.10031865
test eax, eax
jne 0x1002a1c0
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x20]
push eax
push edi
mov ecx, dword [ecx + 4]
call fcn.10031865
test eax, eax
jne 0x1002a1c0
mov eax, dword [ebp - 0x20]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x20]
call esi
push eax
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
push eax
call fcn.10041f9c
mov edi, eax
pop ecx
pop ecx
cmp edi, 0xffffffff
jne 0x1002a242
lea ecx, [ebp - 0x4c]
call fcn.1001bec0
jmp 0x1002a296
mov esi, dword [ebp - 0x50]
cmp dword [esi + 4], 0x25
jne 0x1002a257
test edi, edi
je 0x1002a238
lea eax, [edi - 1]
push eax
push 0
jmp 0x1002a276
mov eax, dword [ebp - 0x20]
push 0xffffffffffffffff
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x20]
call esi
push eax
call fcn.10041f9c
pop ecx
add eax, edi
push eax
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
push eax
lea eax, [ebp - 0x4c]
push eax
call fcn.10041f9c
add esp, 0x10
lea eax, [ebp - 0x4c]
mov ecx, ebx
push eax
call fcn.10030a00
lea ecx, [ebp - 0x20]
call fcn.10041f9c
lea ecx, [ebp - 0x30]
call fcn.10041f9c
lea ecx, [ebp - 0x4c]
jmp 0x1002c0c8
lea eax, [ecx - 2]
cmp eax, 1
ja 0x1002a3f2
lea ecx, [ebp - 0x20]
call fcn.1001b400
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x44]
push edi
push eax
mov dword [ebp - 4], 0x23
mov ecx, dword [esi + 8]
mov ecx, dword [ecx + 4]
call fcn.1003163a
mov ecx, eax
call fcn.10029804
fsub qword [0x1006a6b0]
push ecx
push ecx
lea ecx, [ebp - 0x44]
fstp qword [esp]
call fcn.10041f9c
lea ecx, [ebp - 0x44]
call fcn.1002e952
test eax, eax
jne 0x1002a3e2
lea ecx, [ebp - 0x44]
call fcn.1002e93f
test eax, eax
jne 0x1002a3e2
lea ecx, [ebp - 0x44]
call fcn.10041f9c
or dword [ebp - 0x3c], 0xffffffff
cmp dword [ebp - 0x34], 2
mov dword [ebp - 0x50], eax
jle 0x1002a38d
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x44]
push edi
push eax
mov ecx, dword [ecx + 8]
call fcn.1003163a
lea ecx, [ebp - 0x44]
call fcn.10029804
xorps xmm0, xmm0
fstp qword [ebp - 0x64]
comisd xmm0, xmmword [ebp - 0x64]
jae 0x1002a386
lea ecx, [ebp - 0x44]
call fcn.1002e952
test eax, eax
jne 0x1002a386
lea ecx, [ebp - 0x44]
call fcn.1002e93f
test eax, eax
jne 0x1002a38d
lea ecx, [ebp - 0x44]
call fcn.10041f9c
mov ecx, dword [ebp - 0x50]
dec ecx
add eax, ecx
mov dword [ebp - 0x3c], eax
jmp 0x1002a38d
mov dword [ebp - 0x3c], 0xfffffffe
lea ecx, [ebp - 0x30]
call fcn.1001b400
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x30]
push eax
push edi
mov byte [ebp - 4], 0x24
mov ecx, dword [ecx]
call fcn.10031865
test eax, eax
jne 0x10029bfe
mov eax, dword [ebp - 0x30]
push dword [ebp - 0x3c]
push dword [ebp - 0x50]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
push eax
lea eax, [ebp - 0x20]
push eax
call fcn.10041f9c
add esp, 0x10
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0x30]
call fcn.10041f9c
lea eax, [ebp - 0x20]
mov ecx, ebx
push eax
call fcn.10030a00
jmp 0x1002a099
xor ebx, ebx
lea ecx, [ebp - 0x4c]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x21
call fcn.10041f9c
mov byte [ebp - 4], 0x22
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x30]
push eax
push 0x31
push ebx
push edi
mov ecx, esi
call fcn.10041f9c
jmp 0x1002a1c8
cmp ecx, 1
ja 0x1002a4b9
test ecx, ecx
lea ecx, [ebp - 0x30]
je 0x1002a49b
call fcn.1001b400
mov eax, dword [ebp - 0x38]
mov dword [ebp - 4], 0x27
mov ecx, dword [eax + 8]
lea eax, [ebp - 0x30]
push eax
push edi
mov ecx, dword [ecx]
call fcn.10031865
test eax, eax
jne 0x10029ec7
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
push eax
call fcn.10041f9c
movd xmm0, eax
cvtdq2pd xmm0, xmm0
push ecx
lea ecx, [ebp - 0x44]
movsd qword [esp], xmm0
call fcn.10041f9c
push eax
mov ecx, ebx
call fcn.10041f9c
jmp 0x1002c0c5
call fcn.1001b400
push dword [ebp - 0x54]
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0x28
push eax
push edi
call fcn.1002df4d
add esp, 0xc
jmp 0x1002a457
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x25
call fcn.10041f9c
mov byte [ebp - 4], 0x26
jmp 0x10029beb
cmp ecx, 1
ja 0x1002a5cd
lea ecx, [ebp - 0x30]
call fcn.1001b400
cmp dword [ebp - 0x34], 0
mov dword [ebp - 4], 0x2b
je 0x1002a54c
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 8]
lea eax, [ebp - 0x30]
push eax
push edi
mov ecx, dword [ecx]
call fcn.10031865
test eax, eax
jne 0x10029ec7
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
lea ecx, [ebp - 0xc4]
mov esi, eax
call fcn.10041f9c
push dword [0x1007e0d0]
mov byte [ebp - 4], 0x2c
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strspn]
pop ecx
pop ecx
add esi, eax
jmp 0x1002a5a9
push dword [ebp - 0x54]
lea eax, [ebp - 0x30]
push eax
push edi
call fcn.1002df4d
add esp, 0xc
jmp 0x1002a50d
movsx eax, al
push eax
push dword [0x1007e0d0]
call sub.VCRUNTIME140.dll_strchr
pop ecx
pop ecx
test eax, eax
je 0x1002a599
push dword [0x1007e0d0]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strspn]
add esi, eax
pop ecx
pop ecx
cmp byte [esi], 0
je 0x1002a596
push 0x20
lea ecx, [ebp - 0xc4]
call fcn.10041f9c
dec esi
jmp 0x1002a5a8
movzx eax, byte [esi]
lea ecx, [ebp - 0xc4]
push eax
call fcn.10041f9c
inc esi
mov al, byte [esi]
test al, al
jne 0x1002a55e
lea eax, [ebp - 0xc4]
mov ecx, ebx
push eax
call fcn.10030981
lea ecx, [ebp - 0xc4]
call fcn.1001b414
jmp 0x1002c0c5
xor ebx, ebx
lea ecx, [ebp - 0x4c]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0x29
call fcn.10041f9c
mov byte [ebp - 4], 0x2a
lea eax, [ebp - 0x4c]
mov ecx, esi
push eax
lea eax, [ebp - 0x20]
push eax
push 0x31
push ebx
push edi
call fcn.10041f9c
lea ecx, [ebp - 0x20]
jmp 0x1002a1cb
cmp ecx, 3
je 0x1002a64e
xor ebx, ebx
lea ecx, [ebp - 0x80]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x6c]
mov dword [ebp - 4], 0x2d
call fcn.10041f9c
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0x2e
push eax
lea eax, [ebp - 0x6c]
mov ecx, esi
push eax
push 0x31
push ebx
push edi
call fcn.10041f9c
lea ecx, [ebp - 0x6c]
call fcn.10041f9c
lea ecx, [ebp - 0x80]
jmp 0x1002c11f
lea ecx, [ebp - 0xc4]
call fcn.10041f9c
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0x2f
call fcn.1001b400
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x30
call fcn.1001b400
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x31
call fcn.1001b400
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x4c]
push eax
push edi
mov byte [ebp - 4], 0x32
mov ecx, dword [esi + 8]
mov ecx, dword [ecx]
call fcn.10031865
test eax, eax
jne 0x1002a78d
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x20]
push eax
push edi
mov ecx, dword [ecx + 4]
call fcn.10031865
test eax, eax
jne 0x1002a78d
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x30]
push eax
push edi
mov ecx, dword [ecx + 8]
call fcn.10031865
test eax, eax
jne 0x1002a78d
mov eax, dword [ebp - 0x4c]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x4c]
call esi
mov ecx, dword [ebp - 0x20]
mov edi, eax
mov esi, dword [ecx + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x20]
call esi
mov ecx, dword [ebp - 0x30]
mov dword [ebp - 0x58], eax
mov esi, dword [ecx + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
cmp byte [edi], 0
mov esi, eax
mov dword [ebp - 0x70], esi
je 0x1002a762
mov ebx, dword [ebp - 0x58]
push edi
push ebx
call fcn.10041f9c
pop ecx
pop ecx
cmp eax, 0xffffffff
jne 0x1002a72b
mov esi, edi
jmp 0x1002a73a
push eax
push esi
call fcn.10041f9c
mov esi, eax
pop ecx
pop ecx
test esi, esi
je 0x1002a74e
push esi
call fcn.10041f9c
pop ecx
push eax
push esi
lea ecx, [ebp - 0xc4]
call fcn.10041f9c
push edi
call fcn.10041f9c
mov esi, dword [ebp - 0x70]
add edi, eax
pop ecx
cmp byte [edi], 0
jne 0x1002a719
mov ebx, dword [ebp - 0x5c]
lea eax, [ebp - 0xc4]
mov ecx, ebx
push eax
call fcn.10030981
lea ecx, [ebp - 0x30]
call fcn.10041f9c
lea ecx, [ebp - 0x20]
call fcn.10041f9c
lea ecx, [ebp - 0x4c]
call fcn.10041f9c
jmp 0x10029f99
lea ecx, [ebp - 0x30]
call fcn.10041f9c
lea ecx, [ebp - 0x20]
call fcn.10041f9c
lea ecx, [ebp - 0x4c]
jmp 0x10029fac
cmp ecx, 1
je 0x1002a7ce
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x33
call fcn.10041f9c
mov byte [ebp - 4], 0x34
jmp 0x10029beb
mov ecx, dword [edx + 8]
mov ecx, dword [ecx]
call fcn.100314a0
push eax
mov ecx, ebx
call fcn.10041f9c
jmp 0x1002c0cd
cmp ecx, 1
je 0x1002a80e
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x35
call fcn.10041f9c
mov byte [ebp - 4], 0x36
jmp 0x10029beb
mov ecx, dword [edx + 8]
mov ecx, dword [ecx]
call fcn.100314a0
neg eax
sbb eax, eax
inc eax
jmp 0x1002a7d8
test ecx, ecx
je 0x1002a847
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x37
call fcn.10041f9c
mov byte [ebp - 4], 0x38
jmp 0x10029beb
push 1
jmp 0x1002a7d9
test ecx, ecx
je 0x1002a873
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x39
call fcn.10041f9c
mov byte [ebp - 4], 0x3a
jmp 0x10029beb
push 0
jmp 0x1002a7d9
cmp ecx, 1
je 0x1002a8a3
xor ebx, ebx
lea ecx, [ebp - 0x4c]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0x3b
call fcn.10041f9c
mov byte [ebp - 4], 0x3c
jmp 0x1002a5ec
lea ecx, [ebp - 0x30]
call fcn.1001b400
mov eax, dword [ebp - 0x38]
mov dword [ebp - 4], 0x3d
mov ecx, dword [eax + 8]
lea eax, [ebp - 0x30]
push eax
push edi
mov ecx, dword [ecx]
call fcn.10031865
test eax, eax
jne 0x10029ec7
mov ecx, dword [ebp - 0x54]
xor ebx, ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x38], ebx
call fcn.10017d20
mov ecx, eax
mov dword [ebp - 0x54], ecx
test ecx, ecx
je 0x1002ab4a
lea edx, [edi + 0xb0]
mov dword [ebp - 0x58], edx
mov eax, edx
mov dword [ebp - 0x34], eax
cmp dword [ebp - 0x38], ebx
jne 0x1002aad6
test cl, 1
je 0x1002aa1d
mov edi, dword [eax]
push ecx
mov eax, dword [edi]
mov esi, dword [eax + 0x34]
mov ecx, esi
call dword [0x10060144]
mov ecx, edi
call esi
mov dword [ebp - 0x60], eax
mov ecx, ebx
mov dword [ebp - 0x70], ecx
test eax, eax
jle 0x1002aaa2
cmp dword [ebp - 0x38], ebx
jne 0x1002aaa2
mov edi, dword [ebp - 0x34]
push ecx
push dword [ebp - 0x54]
mov edi, dword [edi]
mov eax, dword [edi]
mov esi, dword [eax + 0x40]
mov ecx, esi
call dword [0x10060144]
mov ecx, edi
call esi
mov ecx, eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x3c], ecx
push ecx
mov edi, dword [eax]
mov edx, dword [edi]
mov esi, dword [edx + 0x10]
mov ecx, esi
call dword [0x10060144]
mov ecx, edi
call esi
push str.lang
push eax
mov dword [ebp - 0x74], eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x1002a9ec
mov eax, dword [ebp - 0x34]
push dword [ebp - 0x3c]
mov edi, dword [eax]
mov edx, dword [edi]
mov esi, dword [edx + 0xc]
mov ecx, esi
call dword [0x10060144]
mov ecx, edi
call esi
push dword [0x1007e2a8]
mov dword [ebp - 0x9c], eax
push eax
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
test eax, eax
jne 0x1002a9cd
mov eax, dword [ebp - 0x34]
push dword [ebp - 0x3c]
mov edi, dword [eax]
mov edx, dword [edi]
mov esi, dword [edx + 0x1c]
mov ecx, esi
call dword [0x10060144]
mov ecx, edi
call esi
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
push dword [ebp - 0x9c]
push dword [ebp - 0x3c]
mov edi, dword [eax]
mov edx, dword [edi]
mov esi, dword [edx + 0x5c]
mov ecx, esi
call dword [0x10060144]
mov ecx, edi
call esi
mov eax, dword [ebp - 0x34]
push dword [ebp - 0x74]
push dword [ebp - 0x3c]
mov edi, dword [eax]
mov eax, dword [edi]
mov esi, dword [eax + 0x5c]
mov ecx, esi
call dword [0x10060144]
mov ecx, edi
call esi
mov ecx, dword [ebp - 0x70]
inc ecx
mov dword [ebp - 0x70], ecx
cmp ecx, dword [ebp - 0x60]
jl 0x1002a92d
jmp 0x1002aaa2
lea ecx, [ebp - 0x48]
mov dword [ebp - 0x34], edx
call fcn.1001b185
push dword [0x1007e2a8]
mov ecx, esi
call fcn.1002e5a0
mov ecx, eax
call fcn.10041f9c
push str.lang
mov ecx, esi
mov dword [ebp - 0x44], eax
call fcn.1002e5a0
mov ecx, eax
call fcn.10041f9c
mov edi, dword [ebp - 0x54]
push ebx
push 0x1007f2e0
push 0x1007f2c8
push ebx
push edi
mov dword [ebp - 0x40], eax
call sub.VCRUNTIME140.dll___RTDynamicCast
add esp, 0x14
test eax, eax
je 0x10029ec7
lea ecx, [ebp - 0x48]
push ecx
lea ecx, [eax + 0x58]
call fcn.10041f9c
cmp eax, 0xffffffff
je 0x1002aaa2
mov ecx, dword [edi + 0x60]
mov edi, dword [ecx + eax*4]
mov eax, dword [edi + 0x34]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [edi + 0x34]
call esi
mov dword [ebp - 0x38], eax
mov eax, dword [ebp - 0x34]
push dword [ebp - 0x54]
mov edi, dword [eax]
mov eax, dword [edi]
mov esi, dword [eax + 0x48]
mov ecx, esi
call dword [0x10060144]
mov ecx, edi
call esi
mov esi, dword [ebp - 0x50]
mov ecx, eax
mov eax, dword [ebp - 0x34]
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x54], ecx
test ecx, ecx
jne 0x1002a8f4
cmp dword [ebp - 0x38], ebx
je 0x1002ab4a
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
lea ecx, [ebp - 0x30]
mov esi, eax
call fcn.1001c130
mov edi, eax
push edi
push dword [ebp - 0x38]
push esi
call dword [sym.imp.api_ms_win_crt_string_l1_1_0.dll__strnicmp]
mov esi, dword [ebp - 0x38]
add esp, 0xc
test eax, eax
jne 0x1002ab19
mov al, byte [edi + esi]
test al, al
je 0x1002ab15
cmp al, 0x2d
jne 0x1002ab19
push 1
jmp 0x1002ab1a
push ebx
mov ecx, dword [ebp - 0x5c]
call fcn.10041f9c
mov ecx, dword [ebp - 0x3c]
test ecx, ecx
je 0x1002c0c5
mov edi, dword [ebp - 0x58]
push esi
push ecx
mov edi, dword [edi]
mov eax, dword [edi]
mov esi, dword [eax + 0x60]
mov ecx, esi
call dword [0x10060144]
mov ecx, edi
call esi
jmp 0x1002c0c5
mov ecx, dword [ebp - 0x5c]
push ebx
call fcn.10041f9c
jmp 0x1002c0c5
cmp ecx, 1
jle 0x1002ab81
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x3e
call fcn.10041f9c
mov byte [ebp - 4], 0x3f
jmp 0x10029beb
lea ecx, [ebp - 0x44]
call fcn.10029447
cmp dword [ebp - 0x34], 0
jne 0x1002abd0
lea ecx, [ebp - 0x30]
call fcn.1001b400
push dword [ebp - 0x54]
lea eax, [ebp - 0x30]
mov dword [ebp - 4], 0x40
push eax
push edi
call fcn.1002df4d
add esp, 0xc
test eax, eax
jne 0x10029ec7
lea eax, [ebp - 0x30]
push eax
lea ecx, [ebp - 0x44]
call fcn.10041f9c
or dword [ebp - 4], 0xffffffff
lea ecx, [ebp - 0x30]
call fcn.10041f9c
jmp 0x1002abeb
mov eax, dword [ebp - 0x38]
push edi
mov ecx, dword [eax + 8]
lea eax, [ebp - 0x64]
push eax
mov ecx, dword [ecx]
call fcn.1003163a
push eax
lea ecx, [ebp - 0x44]
call fcn.10041f9c
lea eax, [ebp - 0x44]
jmp 0x10029c2d
lea ecx, [ebp - 0xc4]
call fcn.10041f9c
lea ecx, [ebp - 0x78]
mov dword [ebp - 4], 0x41
call fcn.10029447
push ecx
push ecx
xorps xmm0, xmm0
lea ecx, [ebp - 0x44]
movsd qword [esp], xmm0
call fcn.10041f9c
xor ebx, ebx
inc ebx
cmp dword [ebp - 0x34], ebx
je 0x1002ac66
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x42
call fcn.10041f9c
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x43
push eax
lea eax, [ebp - 0x30]
push eax
push 0x31
push ebx
push edi
mov ecx, esi
call fcn.10041f9c
lea ecx, [ebp - 0x30]
call fcn.10041f9c
lea ecx, [ebp - 0x20]
jmp 0x10029fac
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [eax]
cmp dword [ecx], 3
je 0x1002ac9b
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x44
call fcn.10041f9c
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x45
push eax
lea eax, [ebp - 0x30]
push eax
push 0x32
jmp 0x1002ac4d
call fcn.10031632
mov esi, eax
mov dword [ebp - 0x60], ebx
mov dword [ebp - 0x64], esi
mov ecx, esi
mov byte [ebp - 4], 0x46
call fcn.1003c3d8
jmp 0x1002ad25
lea ecx, [ebp - 0xc4]
call fcn.1001bea0
lea eax, [ebp - 0xc4]
mov ecx, esi
push eax
call fcn.1003be15
mov ecx, dword [edi + 0xb0]
push eax
call fcn.10041f9c
lea eax, [ebp - 0xc4]
push eax
lea ecx, [ebp - 0x78]
call fcn.10041f9c
lea ecx, [ebp - 0x78]
call fcn.1002e952
lea ecx, [ebp - 0x44]
test eax, eax
jne 0x1002ad32
call fcn.10029804
fstp qword [ebp - 0xa0]
lea ecx, [ebp - 0x78]
call fcn.10029804
fadd qword [ebp - 0xa0]
push ecx
push ecx
lea ecx, [ebp - 0x44]
fstp qword [esp]
call fcn.10041f9c
mov ecx, esi
call fcn.1003c526
mov ecx, esi
call fcn.1003c03d
test eax, eax
je 0x1002acb5
jmp 0x1002ad37
call fcn.10041f9c
lea ecx, [ebp - 0x64]
call fcn.1001dd16
mov ecx, dword [ebp - 0x5c]
lea eax, [ebp - 0x44]
push eax
call fcn.10041f9c
cmp dword [ebp - 0x60], 0
je 0x10029f99
lea ecx, [ebp - 0x64]
call fcn.1001dd16
jmp 0x10029f99
cmp ecx, 1
je 0x1002ad8b
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x47
call fcn.10041f9c
mov byte [ebp - 4], 0x48
jmp 0x10029beb
mov ecx, dword [edx + 8]
lea eax, [ebp - 0x64]
push edi
push eax
mov ecx, dword [ecx]
call fcn.1003163a
mov eax, dword [esi + 4]
sub eax, 0x32
je 0x1002add1
sub eax, 1
je 0x1002adbc
sub eax, 1
jne 0x1002adef
lea ecx, [ebp - 0x64]
call fcn.10029804
fadd qword [0x1006a960]
jmp 0x1002add9
lea ecx, [ebp - 0x64]
call fcn.10029804
push ecx
push ecx
fstp qword [esp]
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_ceil]
jmp 0x1002ade4
lea ecx, [ebp - 0x64]
call fcn.10029804
push ecx
push ecx
fstp qword [esp]
call dword [sym.imp.api_ms_win_crt_math_l1_1_0.dll_floor]
lea ecx, [ebp - 0x64]
fstp qword [esp]
call fcn.10041f9c
lea eax, [ebp - 0x64]
jmp 0x10029c2d
cmp ecx, 1
jge 0x1002ae20
xor ebx, ebx
lea ecx, [ebp - 0x4c]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0x49
call fcn.10041f9c
mov byte [ebp - 4], 0x4a
jmp 0x1002a5ec
cmp ecx, 2
jle 0x1002ae49
xor ebx, ebx
lea ecx, [ebp - 0x4c]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0x4b
call fcn.10041f9c
mov byte [ebp - 4], 0x4c
jmp 0x1002a5ec
lea ecx, [ebp - 0xc4]
call fcn.10041f9c
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x4d
call fcn.1001b400
xor ebx, ebx
mov byte [ebp - 4], 0x4e
cmp dword [ebp - 0x34], 2
jne 0x1002aef3
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 4]
cmp dword [ecx], 3
je 0x1002aec3
push ebx
lea ecx, [ebp - 0x4c]
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x4f
call fcn.10041f9c
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x50
push eax
lea eax, [ebp - 0x20]
mov ecx, esi
push eax
push 0x32
push ebx
push edi
call fcn.10041f9c
lea ecx, [ebp - 0x20]
call fcn.10041f9c
lea ecx, [ebp - 0x4c]
call fcn.10041f9c
jmp 0x10029fa9
call fcn.1001ac76
mov ecx, eax
mov dword [ebp - 0x60], eax
call fcn.1003c052
test eax, eax
jne 0x1002aef3
mov ecx, dword [ebp - 0x60]
push ebx
call fcn.10041f9c
lea ecx, [ebp - 0x30]
test eax, 1
jne 0x1002aef6
push dword [eax + 0x14]
call fcn.10041f9c
jmp 0x1002aefb
lea ecx, [ebp - 0x30]
call fcn.1001bec0
mov eax, dword [edi + 0x24]
push 0x18
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x3c], eax
call fcn.10041f9c
pop ecx
mov dword [ebp - 0x60], eax
mov byte [ebp - 4], 0x51
test eax, eax
je 0x1002af2e
mov ecx, dword [ebp - 0x54]
push ebx
call fcn.10017d20
mov ecx, dword [ebp - 0x60]
push eax
call fcn.1003b9c2
mov dword [ebp - 0x50], eax
jmp 0x1002af33
mov eax, ebx
mov dword [ebp - 0x50], ebx
mov dword [ebp - 0x44], eax
mov dword [ebp - 0x40], 1
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0x52
mov eax, dword [eax + 8]
mov ecx, dword [eax]
cmp dword [ecx], 3
jne 0x1002aff3
call fcn.1001ac76
mov ecx, eax
mov dword [ebp - 0x60], eax
call fcn.1003bf32
mov ecx, eax
mov eax, ebx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x58], eax
test ecx, ecx
jle 0x1002b052
lea ecx, [ebp - 0xc4]
push ecx
mov ecx, dword [ebp - 0x60]
push eax
call fcn.10041f9c
mov ecx, dword [edi + 0xb0]
push eax
call fcn.10041f9c
push dword [ebp - 0x3c]
lea eax, [ebp - 0x30]
mov ecx, esi
push eax
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x34]
push eax
push edi
call fcn.1002e04b
test eax, eax
jne 0x1002b068
test dword [ebp - 0x34], 0xfffffffe
je 0x1002afe5
push dword [ebp - 0x34]
mov ecx, dword [ebp - 0x50]
call fcn.10041f9c
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x1002afe5
test byte [ebp - 0x34], 1
jne 0x1002afe5
push dword [ebp - 0x34]
mov ecx, eax
push edi
call fcn.10041f9c
test eax, eax
jne 0x1002b068
mov eax, dword [ebp - 0x58]
inc eax
mov dword [ebp - 0x58], eax
cmp eax, dword [ebp - 0x74]
jl 0x1002af73
jmp 0x1002b052
lea eax, [ebp - 0xc4]
push eax
push edi
call fcn.10031865
test eax, eax
jne 0x1002b068
push dword [ebp - 0x3c]
lea eax, [ebp - 0x30]
mov ecx, esi
push eax
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x34]
push eax
push edi
call fcn.1002e04b
test eax, eax
jne 0x1002b068
test dword [ebp - 0x34], 0xfffffffe
je 0x1002b052
push dword [ebp - 0x34]
mov ecx, dword [ebp - 0x50]
call fcn.10041f9c
mov eax, dword [ebp - 0x3c]
test eax, eax
je 0x1002b052
test byte [ebp - 0x34], 1
jne 0x1002b052
push dword [ebp - 0x34]
mov ecx, eax
push edi
call fcn.10041f9c
test eax, eax
jne 0x1002b068
push dword [ebp - 0x50]
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x40], ebx
call fcn.10041f9c
lea ecx, [ebp - 0x30]
jmp 0x1002a783
lea ecx, [ebp - 0x44]
call fcn.1001dd16
jmp 0x10029fa9
xor ebx, ebx
sub ecx, ebx
je 0x1002b0e8
sub ecx, 1
je 0x1002b0a2
push ebx
lea ecx, [ebp - 0x4c]
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x55
call fcn.10041f9c
mov byte [ebp - 4], 0x56
jmp 0x1002a411
mov eax, dword [edx + 8]
mov ecx, dword [eax]
cmp dword [ecx], 3
je 0x1002b0d8
push ebx
lea ecx, [ebp - 0x4c]
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x53
call fcn.10041f9c
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x54
push eax
lea eax, [ebp - 0x30]
push eax
push 0x32
jmp 0x1002a41b
call fcn.1001ac76
mov esi, eax
mov ecx, esi
call fcn.1003c052
jmp 0x1002b0f2
mov esi, dword [ebp - 0x54]
mov ecx, esi
call fcn.1003c03d
test eax, eax
jne 0x1002b1fd
mov ecx, esi
call fcn.1003be15
mov ecx, eax
test ecx, ecx
je 0x1002b1fd
mov word [ebp - 0x20], 0x5f69
mov byte [ebp - 0x1e], 0x5f
test cl, 1
je 0x1002b148
lea ebx, [ebp - 0x19]
mov dword [ebp - 0x58], ebx
lea eax, [ebp - 0x15]
lea ebx, [ebp - 0x1a]
mov dword [ebp - 0x70], ebx
lea edx, [ebp - 0x16]
lea ebx, [ebp - 0x1b]
mov dword [ebp - 0x3c], ebx
lea esi, [ebp - 0x17]
lea ebx, [ebp - 0x1c]
mov dword [ebp - 0x34], ebx
lea edi, [ebp - 0x18]
lea ebx, [ebp - 0x1d]
mov dword [ebp - 0x50], ebx
xor ebx, ebx
jmp 0x1002b189
mov al, byte [ecx + 4]
lea edi, [ebp - 0x16]
mov dword [ebp - 0x60], edi
lea edx, [ebp - 0x14]
lea edi, [ebp - 0x17]
mov byte [ebp - 0x1c], 0x5f
mov dword [ebp - 0x58], edi
lea esi, [ebp - 0x15]
lea edi, [ebp - 0x18]
and al, 0xf
mov dword [ebp - 0x70], edi
add al, 0x61
lea edi, [ebp - 0x19]
mov byte [ebp - 0x1d], al
mov ecx, dword [ecx + 0x24]
lea eax, [ebp - 0x13]
mov dword [ebp - 0x3c], edi
lea edi, [ebp - 0x1a]
mov dword [ebp - 0x34], edi
lea edi, [ebp - 0x1b]
mov dword [ebp - 0x50], edi
mov edi, dword [ebp - 0x60]
mov byte [eax], bl
mov al, cl
sar ecx, 4
push 0xf
pop ebx
and al, bl
add al, 0x61
mov byte [edx], al
mov al, cl
mov edx, dword [ebp - 0x58]
and al, bl
add al, 0x61
sar ecx, 4
mov byte [esi], al
mov al, cl
and al, bl
sar ecx, 4
add al, 0x61
mov byte [edi], al
mov al, cl
and al, bl
sar ecx, 4
add al, 0x61
mov byte [edx], al
mov al, cl
mov edx, dword [ebp - 0x70]
and al, bl
add al, 0x61
sar ecx, 4
mov byte [edx], al
mov al, cl
mov edx, dword [ebp - 0x3c]
and al, bl
add al, 0x61
sar ecx, 4
mov byte [edx], al
mov al, cl
mov edx, dword [ebp - 0x34]
and al, bl
add al, 0x61
sar ecx, 4
and cl, bl
add cl, 0x61
mov byte [edx], al
mov eax, dword [ebp - 0x50]
mov byte [eax], cl
lea eax, [ebp - 0x20]
mov ecx, dword [ebp - 0x5c]
push eax
jmp 0x1002c06f
mov ecx, dword [ebp - 0x5c]
jmp 0x1002c06a
cmp ecx, 1
je 0x1002b22e
xor ebx, ebx
lea ecx, [ebp - 0x4c]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x20]
mov dword [ebp - 4], 0x57
call fcn.10041f9c
mov byte [ebp - 4], 0x58
jmp 0x1002a5ec
lea ecx, [ebp - 0x68]
call fcn.1001b185
lea ecx, [ebp - 0x30]
call fcn.1001b400
mov eax, dword [ebp - 0x38]
mov dword [ebp - 4], 0x59
mov ecx, dword [eax + 8]
lea eax, [ebp - 0x30]
push eax
push edi
mov ecx, dword [ecx]
call fcn.10031865
test eax, eax
jne 0x10029ec7
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
push eax
call fcn.10041f9c
pop ecx
test eax, eax
jne 0x1002b2d1
xor ebx, ebx
lea ecx, [ebp - 0x4c]
push ebx
call fcn.10041f9c
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x5a
call fcn.1000add5
test eax, eax
je 0x1002b29f
mov eax, 0x1006a8d0
jmp 0x1002b2b2
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
push eax
lea ecx, [ebp - 0x20]
call fcn.10041f9c
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x4c]
push eax
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x5b
push eax
push 0x64
jmp 0x10029eb0
mov esi, dword [ebp - 0x50]
lea eax, [ebp - 0x30]
push 0xfffffffffffffffe
push 0
push eax
lea eax, [ebp - 0x68]
mov ecx, esi
push eax
push edi
call fcn.1002e59c
mov ecx, eax
call fcn.1003693b
test eax, eax
jne 0x10029ec7
mov ecx, esi
call fcn.1002e5a0
mov edi, dword [ebp - 0x64]
mov ecx, esi
cmp edi, dword [eax + 0x1a8]
jne 0x1002b37a
push dword [ebp - 0x60]
call fcn.1002e5a0
mov ecx, eax
call fcn.10041f9c
mov esi, eax
push 0x10069b74
mov ecx, esi
call fcn.10041f9c
test eax, eax
je 0x1002b33a
movsd xmm0, qword [0x1006a6b0]
push ecx
jmp 0x1002a480
push str.vendor
mov ecx, esi
call fcn.10041f9c
test eax, eax
je 0x1002b354
push str.Ginger_Alliance
jmp 0x1002c0be
push str.vendor_url
mov ecx, esi
call fcn.10041f9c
mov ecx, ebx
test eax, eax
je 0x1002b370
push str.www.gingerall.com
jmp 0x1002c0c0
push 0x100616e2
jmp 0x1002c0c0
call fcn.1002e5a0
mov ecx, esi
cmp edi, dword [eax + 0x1bc]
jne 0x1002b3b4
push dword [ebp - 0x60]
call fcn.1002e5a0
mov ecx, eax
call fcn.10041f9c
push 0x10069b74
mov ecx, eax
call fcn.10041f9c
mov ecx, ebx
test eax, eax
je 0x1002b370
push str.1.0.2
jmp 0x1002c0c0
call fcn.1002e5a0
cmp edi, dword [eax + 0x1c0]
jne 0x1002c0b9
push dword [ebp - 0x60]
mov ecx, esi
call fcn.1002e5a0
mov ecx, eax
call fcn.10041f9c
mov esi, eax
push str.contributor
mov ecx, esi
call fcn.10041f9c
test eax, eax
je 0x1002b3f2
push 0x1006a920
jmp 0x1002c0be
push str.library
mov ecx, esi
call fcn.10041f9c
test eax, eax
je 0x1002b40c
push str.AXE_XSLT_AXE_DOM
jmp 0x1002c0be
push 0x10069b74
mov ecx, esi
call fcn.10041f9c
mov ecx, ebx
test eax, eax
je 0x1002b370
push str.3.3.001
jmp 0x1002c0c0
push 0x18
call fcn.10041f9c
pop ecx
mov dword [ebp - 0x60], eax
mov dword [ebp - 4], 0x5c
test eax, eax
je 0x1002b454
xor ebx, ebx
mov ecx, eax
push ebx
push ebx
call fcn.1003b9c2
mov ebx, dword [ebp - 0x5c]
mov edi, eax
jmp 0x1002b456
xor edi, edi
mov esi, dword [ebp - 0x54]
mov ecx, esi
or dword [ebp - 4], 0xffffffff
call fcn.10017d20
test eax, eax
jne 0x1002b46f
mov ecx, esi
call fcn.1003be15
push eax
mov ecx, edi
call fcn.10041f9c
push edi
mov ecx, ebx
call fcn.10041f9c
jmp 0x1002c0cd
push 0x800
mov ecx, edi
call fcn.10041f9c
test eax, eax
je 0x1002b4c6
xor ebx, ebx
lea ecx, [ebp - 0x6c]
push ebx
call fcn.10041f9c
push 0x10069e04
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0x5d
call fcn.10041f9c
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x5e
push eax
lea eax, [ebp - 0x4c]
push eax
push 0x33
jmp 0x10029fef
cmp dword [ebp - 0x34], 2
je 0x1002b4f0
xor ebx, ebx
lea ecx, [ebp - 0x6c]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x4c]
mov dword [ebp - 4], 0x5f
call fcn.10041f9c
mov byte [ebp - 4], 0x60
jmp 0x10029fe5
lea ecx, [ebp - 0x1c]
call fcn.1001b185
lea ecx, [ebp - 0x30]
call fcn.1001b400
mov eax, dword [ebp - 0x38]
mov dword [ebp - 4], 0x61
mov ecx, dword [eax + 8]
lea eax, [ebp - 0x30]
push eax
push edi
mov ecx, dword [ecx]
call fcn.10031865
test eax, eax
jne 0x10029ec7
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
push eax
call fcn.10041f9c
xor ebx, ebx
pop ecx
test eax, eax
jne 0x1002b5a5
push ebx
lea ecx, [ebp - 0x6c]
call fcn.10041f9c
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x62
call fcn.1000add5
test eax, eax
je 0x1002b561
mov eax, 0x1006a8d0
jmp 0x1002b574
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
push eax
lea ecx, [ebp - 0x4c]
call fcn.10041f9c
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x6c]
push eax
lea eax, [ebp - 0x4c]
mov byte [ebp - 4], 0x63
push eax
push 0x64
push ebx
push edi
call fcn.10041f9c
lea ecx, [ebp - 0x4c]
call fcn.10041f9c
lea ecx, [ebp - 0x6c]
jmp 0x10029ec2
mov esi, dword [ebp - 0x50]
lea eax, [ebp - 0x30]
push 0xfffffffffffffffe
push ebx
push eax
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
push edi
call fcn.1002e59c
mov ecx, eax
call fcn.1003693b
test eax, eax
jne 0x10029ec7
lea ecx, [ebp - 0x118]
call fcn.10041f9c
push ebx
lea eax, [ebp - 0x118]
mov byte [ebp - 4], 0x64
push eax
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
call fcn.1002e5a0
mov ecx, eax
call fcn.10041f9c
mov eax, dword [edi + 0x24]
push 0x18
mov dword [ebp - 0x50], eax
call fcn.10041f9c
pop ecx
mov dword [ebp - 0x60], eax
mov byte [ebp - 4], 0x65
test eax, eax
je 0x1002b617
push ebx
push ebx
mov ecx, eax
call fcn.1003b9c2
jmp 0x1002b619
mov eax, ebx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0xa0], eax
xor eax, eax
inc eax
mov dword [ebp - 0x9c], eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x40], eax
push ebx
push ebx
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0x67
call fcn.1003b9c2
lea ecx, [ebp - 0xc4]
mov byte [ebp - 4], 0x68
call fcn.10041f9c
mov edi, dword [edi + 0xb0]
mov ecx, dword [ebp - 0x54]
mov byte [ebp - 4], 0x69
mov esi, dword [edi]
call fcn.1003be15
mov ecx, dword [esi + 4]
push eax
call dword [0x10060144]
mov ecx, edi
call dword [esi + 4]
mov edi, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x54]
mov dword [ebp - 0x60], eax
mov edi, dword [edi + 0xb0]
mov esi, dword [edi]
call fcn.1003be15
mov ecx, dword [esi + 0x4c]
push eax
call dword [0x10060144]
mov ecx, edi
call dword [esi + 0x4c]
mov edi, eax
mov dword [ebp - 0x58], edi
test edi, edi
jne 0x1002b6b5
cmp dword [ebp - 0x60], 9
jne 0x1002b6b5
mov ecx, dword [ebp - 0x54]
call fcn.1003be15
mov edi, eax
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x38]
mov eax, dword [eax + 8]
mov ecx, dword [eax + 4]
cmp dword [ecx], 3
jne 0x1002b811
call fcn.1001ac76
mov ecx, eax
mov dword [ebp - 0x60], eax
call fcn.1003bf32
mov edi, dword [ebp - 0x34]
mov ecx, eax
mov dword [ebp - 0x74], ecx
mov eax, ebx
mov dword [ebp - 0x70], eax
test ecx, ecx
jle 0x1002b76d
mov esi, dword [ebp - 0x3c]
lea ecx, [ebp - 0xc4]
push ecx
mov ecx, dword [ebp - 0x60]
push eax
call fcn.10041f9c
mov ecx, dword [esi + 0xb0]
push eax
call fcn.10041f9c
push dword [ebp - 0x58]
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x98]
push eax
lea eax, [ebp - 0xc4]
push eax
lea eax, [ebp - 0x118]
push eax
push esi
call fcn.10041f9c
test eax, eax
jne 0x1002b7c0
lea eax, [ebp - 0x98]
mov ecx, edi
push eax
push esi
call fcn.1003c7b9
mov edi, eax
lea ecx, [ebp - 0xa0]
mov dword [ebp - 0x44], edi
call fcn.1001dd16
mov eax, dword [ebp - 0x70]
inc eax
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x9c], ebx
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0x70], eax
cmp eax, dword [ebp - 0x74]
jl 0x1002b6ee
mov ecx, dword [ebp - 0x5c]
push edi
mov dword [ebp - 0x9c], ebx
call fcn.10041f9c
lea ecx, [ebp - 0xc4]
call fcn.1001b414
lea ecx, [ebp - 0x98]
call fcn.1003bb31
cmp dword [ebp - 0x40], 0
je 0x1002b7b0
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x1002b7b0
mov ecx, esi
call fcn.1003bb31
push 0x18
push esi
call fcn.10041f9c
pop ecx
pop ecx
lea ecx, [ebp - 0x118]
call fcn.1000d700
jmp 0x1002c0c5
lea ecx, [ebp - 0xc4]
call fcn.1001b414
lea ecx, [ebp - 0x98]
call fcn.1003bb31
cmp dword [ebp - 0x40], 0
je 0x1002b7f4
mov esi, dword [ebp - 0x44]
test esi, esi
je 0x1002b7f4
mov ecx, esi
call fcn.1003bb31
push 0x18
push esi
call fcn.10041f9c
pop ecx
pop ecx
cmp dword [ebp - 0x9c], 0
je 0x1002b89d
lea ecx, [ebp - 0xa0]
call fcn.1001dd16
jmp 0x1002b89d
mov esi, dword [ebp - 0x3c]
lea eax, [ebp - 0xc4]
push eax
push esi
call fcn.10031865
test eax, eax
je 0x1002b84e
lea ecx, [ebp - 0xc4]
call fcn.1001b414
lea ecx, [ebp - 0x98]
call fcn.1003bb31
mov esi, dword [ebp - 0x34]
test esi, esi
je 0x1002b89d
mov ecx, esi
call fcn.1003bb31
push 0x18
push esi
jmp 0x1002b896
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0xc4]
push edi
mov edi, dword [ebp - 0x34]
push edi
push eax
lea eax, [ebp - 0x118]
push eax
push esi
call fcn.10041f9c
test eax, eax
je 0x1002b76d
lea ecx, [ebp - 0xc4]
call fcn.1001b414
lea ecx, [ebp - 0x98]
call fcn.1003bb31
test edi, edi
je 0x1002b89d
mov ecx, edi
call fcn.1003bb31
push 0x18
push edi
call fcn.10041f9c
pop ecx
pop ecx
lea ecx, [ebp - 0x118]
call fcn.1000d700
jmp 0x10029ec7
push 0x800
mov ecx, edi
call fcn.10041f9c
test eax, eax
je 0x1002b8ef
xor ebx, ebx
lea ecx, [ebp - 0x20]
push ebx
call fcn.10041f9c
push str.format_number
lea ecx, [ebp - 0x30]
mov dword [ebp - 4], 0x6a
call fcn.10041f9c
lea eax, [ebp - 0x20]
mov byte [ebp - 4], 0x6b
push eax
lea eax, [ebp - 0x30]
push eax
push 0x33
jmp 0x10029bf5
mov eax, dword [ebp - 0x34]
add eax, 0xfffffffe
cmp eax, 1
ja 0x1002bad8
mov esi, dword [ebp - 0x38]
lea eax, [ebp - 0x44]
push edi
push eax
mov ecx, dword [esi + 8]
mov ecx, dword [ecx]
call fcn.1003163a
lea ecx, [ebp - 0x6c]
call fcn.1001b400
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x6c]
push eax
push edi
mov dword [ebp - 4], 0x6e
mov ecx, dword [ecx + 4]
call fcn.10031865
test eax, eax
jne 0x1002a000
lea ecx, [ebp - 0xd8]
call fcn.10041f9c
cmp dword [ebp - 0x34], 3
mov byte [ebp - 4], 0x6f
jne 0x1002ba78
lea ecx, [ebp - 0x30]
call fcn.1001b400
mov ecx, dword [esi + 8]
lea eax, [ebp - 0x30]
push eax
push edi
mov byte [ebp - 4], 0x70
mov ecx, dword [ecx + 8]
call fcn.10031865
test eax, eax
jne 0x1002ba16
lea ecx, [ebp - 0x1c]
call fcn.1001b185
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
push eax
call fcn.10041f9c
xor ebx, ebx
pop ecx
test eax, eax
jne 0x1002ba2e
push ebx
lea ecx, [ebp - 0x90]
call fcn.10041f9c
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x71
call fcn.1000add5
test eax, eax
je 0x1002b9c3
mov eax, 0x1006a8d0
jmp 0x1002b9d6
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
push eax
lea ecx, [ebp - 0xa8]
call fcn.10041f9c
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0xa8]
mov byte [ebp - 4], 0x72
push eax
push 0x64
push ebx
push edi
call fcn.10041f9c
lea ecx, [ebp - 0xa8]
call fcn.10041f9c
lea ecx, [ebp - 0x90]
call fcn.10041f9c
lea ecx, [ebp - 0x30]
call fcn.10041f9c
lea ecx, [ebp - 0xd8]
call fcn.1000d700
jmp 0x1002a000
mov esi, dword [ebp - 0x50]
lea eax, [ebp - 0x30]
push 0xfffffffffffffffe
push ebx
push eax
lea eax, [ebp - 0x1c]
mov ecx, esi
push eax
push edi
call fcn.1002e59c
mov ecx, eax
call fcn.1003693b
test eax, eax
jne 0x1002ba16
push ebx
lea eax, [ebp - 0xd8]
mov ecx, esi
push eax
lea eax, [ebp - 0x1c]
push eax
call fcn.1002e5a0
mov ecx, eax
call fcn.10041f9c
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x6f
call fcn.10041f9c
mov ebx, dword [ebp - 0x5c]
lea ecx, [ebp - 0x80]
call fcn.1001b400
mov ecx, dword [edi + 0x24]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x6c]
mov byte [ebp - 4], 0x73
push eax
lea eax, [ebp - 0x44]
add ecx, 0xb8
push eax
lea eax, [ebp - 0xd8]
push eax
push edi
call fcn.10028799
test eax, eax
je 0x1002bab2
lea ecx, [ebp - 0x80]
jmp 0x1002ba19
lea eax, [ebp - 0x80]
mov ecx, ebx
push eax
call fcn.10030a00
lea ecx, [ebp - 0x80]
call fcn.10041f9c
lea ecx, [ebp - 0xd8]
call fcn.1000d700
lea ecx, [ebp - 0x6c]
jmp 0x1002c0c8
xor ebx, ebx
lea ecx, [ebp - 0x30]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x90]
mov dword [ebp - 4], 0x6c
call fcn.10041f9c
mov byte [ebp - 4], 0x6d
lea eax, [ebp - 0x30]
mov ecx, esi
push eax
lea eax, [ebp - 0x90]
push eax
push 0x31
push ebx
push edi
call fcn.10041f9c
lea ecx, [ebp - 0x90]
jmp 0x10029ec2
cmp ecx, 1
je 0x1002bb44
xor ebx, ebx
lea ecx, [ebp - 0x30]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x90]
mov dword [ebp - 4], 0x74
call fcn.10041f9c
mov byte [ebp - 4], 0x75
jmp 0x1002bafa
push 0x18
call fcn.10041f9c
pop ecx
mov dword [ebp - 0x60], eax
xor ebx, ebx
mov dword [ebp - 4], 0x76
test eax, eax
je 0x1002bb69
push ebx
push ebx
mov ecx, eax
call fcn.1003b9c2
mov esi, eax
jmp 0x1002bb6b
mov esi, ebx
mov dword [ebp - 0x44], esi
mov dword [ebp - 0x40], 1
lea ecx, [ebp - 0xc4]
mov dword [ebp - 4], 0x77
call fcn.10041f9c
mov eax, dword [ebp - 0x38]
mov byte [ebp - 4], 0x78
mov eax, dword [eax + 8]
mov ecx, dword [eax]
cmp dword [ecx], 3
jne 0x1002bbf6
call fcn.1001ac76
mov ecx, eax
mov dword [ebp - 0x60], eax
call fcn.1003bf32
mov ecx, eax
mov eax, ebx
mov dword [ebp - 0x74], ecx
mov dword [ebp - 0x58], eax
test ecx, ecx
jle 0x1002bc1b
mov ebx, dword [ebp - 0x54]
lea ecx, [ebp - 0xc4]
push ecx
mov ecx, dword [ebp - 0x60]
push eax
call fcn.10041f9c
mov ecx, dword [edi + 0xb0]
push eax
call fcn.10041f9c
push esi
push ebx
lea eax, [ebp - 0xc4]
push eax
push edi
call fcn.100299a3
mov eax, dword [ebp - 0x58]
add esp, 0x10
inc eax
mov dword [ebp - 0x58], eax
cmp eax, dword [ebp - 0x74]
jl 0x1002bbb8
xor ebx, ebx
jmp 0x1002bc1b
lea eax, [ebp - 0xc4]
push eax
push edi
call fcn.10031865
test eax, eax
jne 0x1002bc42
push esi
push dword [ebp - 0x54]
lea eax, [ebp - 0xc4]
push eax
push edi
call fcn.100299a3
add esp, 0x10
mov ecx, dword [esi]
push ebx
push esi
push ebx
push edi
call fcn.1003c570
test eax, eax
jne 0x1002bc42
mov ecx, esi
call fcn.1003c95d
mov ecx, dword [ebp - 0x5c]
push esi
mov dword [ebp - 0x40], ebx
call fcn.10041f9c
jmp 0x10029f99
lea ecx, [ebp - 0xc4]
call fcn.1001b414
lea ecx, [ebp - 0x44]
call fcn.1001dd16
jmp 0x1002c124
cmp ecx, 1
je 0x1002bca2
xor ebx, ebx
lea ecx, [ebp - 0x80]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x90]
mov dword [ebp - 4], 0x79
call fcn.10041f9c
lea eax, [ebp - 0x80]
mov byte [ebp - 4], 0x7a
push eax
lea eax, [ebp - 0x90]
mov ecx, esi
push eax
push 0x31
push ebx
push edi
call fcn.10041f9c
lea ecx, [ebp - 0x90]
jmp 0x1002a641
lea ecx, [ebp - 0x30]
call fcn.1001b400
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0x7b
call fcn.1001b185
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 8]
lea eax, [ebp - 0x30]
push eax
push edi
mov ecx, dword [ecx]
call fcn.10031865
test eax, eax
jne 0x10029ec7
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
push eax
call fcn.10041f9c
xor ebx, ebx
pop ecx
test eax, eax
jne 0x1002bd60
push ebx
lea ecx, [ebp - 0x80]
call fcn.10041f9c
lea ecx, [ebp - 0x30]
mov byte [ebp - 4], 0x7c
call fcn.1000add5
test eax, eax
je 0x1002bd13
mov eax, 0x1006a8d0
jmp 0x1002bd26
mov eax, dword [ebp - 0x30]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x30]
call esi
push eax
lea ecx, [ebp - 0x90]
call fcn.10041f9c
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x80]
push eax
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x7d
push eax
push 0x64
push ebx
push edi
call fcn.10041f9c
lea ecx, [ebp - 0x90]
call fcn.10041f9c
lea ecx, [ebp - 0x80]
jmp 0x10029ec2
mov esi, dword [ebp - 0x50]
lea eax, [ebp - 0x30]
push 0xfffffffffffffffe
push ebx
push eax
lea eax, [ebp - 0x48]
mov ecx, esi
push eax
push edi
call fcn.1002e59c
mov ecx, eax
call fcn.1003693b
test eax, eax
jne 0x10029ec7
push dword [ebp - 0x44]
mov ecx, esi
call fcn.1002e5a0
mov ecx, eax
call fcn.10041f9c
push eax
lea ecx, [ebp - 0x6c]
call fcn.10041f9c
push dword [ebp - 0x40]
mov ecx, esi
mov byte [ebp - 4], 0x7e
call fcn.1002e5a0
mov ecx, eax
call fcn.10041f9c
push eax
lea ecx, [ebp - 0x20]
call fcn.10041f9c
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 0x7f
call fcn.1000add5
test eax, eax
jne 0x1002bde3
mov ecx, dword [edi + 0x24]
lea eax, [ebp - 0x20]
push eax
lea eax, [ebp - 0x6c]
push eax
call fcn.1001fd00
push eax
jmp 0x1002be7f
push 0x800
mov ecx, edi
call fcn.10041f9c
test eax, eax
je 0x1002be3b
mov eax, dword [ebp - 0x20]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x20]
call esi
push eax
push 0x10069e04
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x1002be7e
mov eax, dword [ebp - 0x20]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x20]
call esi
push eax
push str.format_number
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
test eax, eax
je 0x1002be7e
mov edi, dword [str.last]
mov dword [ebp - 0x58], 0x1007e678
jmp 0x1002be75
mov eax, dword [ebp - 0x20]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x20]
call esi
push eax
push edi
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
pop ecx
mov ecx, dword [ebp - 0x58]
add ecx, 0xc
mov dword [ebp - 0x58], ecx
test eax, eax
je 0x1002be7b
mov edi, dword [ecx]
test edi, edi
jne 0x1002be4a
jmp 0x1002be7e
xor ebx, ebx
inc ebx
push ebx
mov ecx, dword [ebp - 0x5c]
call fcn.10041f9c
lea ecx, [ebp - 0x20]
call fcn.10041f9c
lea ecx, [ebp - 0x6c]
call fcn.10041f9c
jmp 0x1002c0c5
cmp ecx, 1
je 0x1002bec8
xor ebx, ebx
lea ecx, [ebp - 0x30]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x90]
mov dword [ebp - 4], 0x80
call fcn.10041f9c
mov byte [ebp - 4], 0x81
jmp 0x1002bafa
lea ecx, [ebp - 0x20]
call fcn.1001b400
lea ecx, [ebp - 0x48]
mov dword [ebp - 4], 0x82
call fcn.1001b185
mov eax, dword [ebp - 0x38]
mov ecx, dword [eax + 8]
lea eax, [ebp - 0x20]
push eax
push edi
mov ecx, dword [ecx]
call fcn.10031865
test eax, eax
jne 0x10029c06
mov eax, dword [ebp - 0x20]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x20]
call esi
push eax
call fcn.10041f9c
xor ebx, ebx
pop ecx
test eax, eax
jne 0x1002bf83
push ebx
lea ecx, [ebp - 0x30]
call fcn.10041f9c
lea ecx, [ebp - 0x20]
mov byte [ebp - 4], 0x83
call fcn.1000add5
test eax, eax
je 0x1002bf39
mov eax, 0x1006a8d0
jmp 0x1002bf4c
mov eax, dword [ebp - 0x20]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x20]
call esi
push eax
lea ecx, [ebp - 0x90]
call fcn.10041f9c
mov ecx, dword [ebp - 0x50]
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp - 0x90]
mov byte [ebp - 4], 0x84
push eax
push 0x64
push ebx
push edi
call fcn.10041f9c
lea ecx, [ebp - 0x90]
call fcn.10041f9c
jmp 0x10029bfe
mov esi, dword [ebp - 0x50]
lea eax, [ebp - 0x20]
push 0xfffffffffffffffe
push ebx
push eax
lea eax, [ebp - 0x48]
mov ecx, esi
push eax
push edi
call fcn.1002e59c
mov ecx, eax
call fcn.1003693b
test eax, eax
jne 0x10029c06
mov edi, dword [ebp - 0x44]
cmp edi, 0xfffffffe
je 0x1002c01c
mov ecx, esi
call fcn.1002e5a0
cmp edi, dword [eax + 0x1a8]
je 0x1002bfcf
lea ecx, [ebp - 0x48]
push ecx
push eax
call fcn.10007a20
pop ecx
pop ecx
mov ebx, eax
jmp 0x1002c01c
mov eax, dword [ebp - 0x20]
mov esi, dword [eax + 4]
mov ecx, esi
call dword [0x10060144]
lea ecx, [ebp - 0x20]
call esi
push 0x3a
push eax
call sub.VCRUNTIME140.dll_strchr
pop ecx
pop ecx
mov ecx, dword [str.apply_imports]
mov esi, 0x1007e110
lea edi, [eax + 1]
jmp 0x1002c013
cmp byte [ecx], 0x26
je 0x1002c01c
push edi
push ecx
call sub.api_ms_win_crt_string_l1_1_0.dll_strcmp
pop ecx
add esi, 4
pop ecx
test eax, eax
je 0x1002c019
mov ecx, dword [esi]
test ecx, ecx
jne 0x1002bffc
jmp 0x1002c01c
xor ebx, ebx
inc ebx
mov ecx, dword [ebp - 0x5c]
push ebx
call fcn.10041f9c
jmp 0x1002a099
cmp ecx, 1
je 0x1002c056
xor ebx, ebx
lea ecx, [ebp - 0x30]
push ebx
call fcn.10041f9c
push ebx
lea ecx, [ebp - 0x90]
mov dword [ebp - 4], 0x85
call fcn.10041f9c
mov byte [ebp - 4], 0x86
jmp 0x1002bafa
mov ecx, dword [ebp - 0x54]
call fcn.1003be15
mov esi, eax
test esi, 1
je 0x1002c076
mov ecx, ebx
push 0x100616e2
call fcn.10030a87
jmp 0x1002c0cd
lea ecx, [ebp - 0x30]
call fcn.1001b400
mov eax, dword [ebp - 0x38]
mov dword [ebp - 4], 0x87
mov ecx, dword [eax + 8]
lea eax, [ebp - 0x30]
push eax
push edi
mov ecx, dword [ecx]
call fcn.10031865
test eax, eax
jne 0x10029ec7
mov ecx, dword [esi + 4]
lea eax, [ebp - 0x30]
push eax
call fcn.10041f9c
test eax, eax
je 0x1002c0b9
push eax
mov ecx, ebx
call fcn.10030a00
jmp 0x1002c0c5
push 0x100616e2
mov ecx, ebx
call fcn.10030a87
lea ecx, [ebp - 0x30]
call fcn.10041f9c
xor eax, eax
jmp 0x1002c127
xor ebx, ebx
lea ecx, [ebp - 0xa8]
push ebx
call fcn.10041f9c
push dword [esi + 4]
lea eax, [ebp - 0xe8]
mov dword [ebp - 4], 0x88
push eax
call fcn.10041f9c
pop ecx
pop ecx
lea ecx, [ebp - 0xa8]
mov byte [ebp - 4], 0x89
push ecx
push eax
push 0x33
push ebx
push edi
mov ecx, esi
call fcn.10041f9c
lea ecx, [ebp - 0xe8]
call fcn.10041f9c
lea ecx, [ebp - 0xa8]
call fcn.10041f9c
xor eax, eax
inc eax
call fcn.10057ac2
ret 0x10