Function at 0x1002db18
Capabilities:
Encode data using base64
Get common file path
Parse credit card information
Resolve function by parsing pe exports

Disassembly:
push ebp
lea ebp, [esp - 0x68]
sub esp, 0x194
push ebx
mov bl, byte [ebp + 0x78]
and dword [ebp + 0x78], 1
push esi
push edi
push dword [ebp + 0x74]
and bl, 0xf0
lea ecx, [ebp - 0x68]
mov byte [ebp - 0x3d], bl
call fcn.100501eb
mov eax, dword [ebp + 0x74]
or dword [ebp + 4], 0xffffffff
or dword [ebp + 0xc], 0xffffffff
xor esi, esi
lea ecx, [ebp + 0x74]
mov dword [ebp - 0x3c], eax
mov dword [ebp + 0x20], esi
mov dword [ebp - 8], esi
call fcn.1000f804
lea ecx, [ebp + 0x18]
mov byte [ebp + 0x47], 0xff
mov byte [ebp + 0x46], 0xff
mov byte [ebp + 0x4a], 0
mov byte [ebp + 0x52], 0
mov byte [ebp + 0x67], 0
mov byte [ebp + 0x50], 0
mov byte [ebp + 0x2c], 0
mov byte [ebp + 0x2d], 0
mov byte [ebp - 0xe], 0
mov byte [ebp + 0x2e], 0
mov byte [ebp + 0x51], 0xff
mov byte [ebp + 0x1d], 1
mov byte [ebp + 0x48], 0
mov byte [ebp + 0x3b], 0
mov dword [ebp - 0xc], 0xffff0000
mov dword [ebp - 0x14], esi
mov byte [ebp + 0x1e], 0
call fcn.10046123
lea ecx, [ebp - 0x44]
mov dword [ebp - 0x94], esi
call fcn.10046123
push 1
lea eax, [ebp + 0x74]
push eax
push 0x100ca2c0
mov word [ebp - 0x12c], si
call fcn.10048195
add esp, 0xc
test al, al
jne 0x1002dbdd
test bl, bl
mov byte [ebp + 0x3a], al
je 0x1002dbe1
mov byte [ebp + 0x3a], 1
test bl, bl
setne byte [ebp + 0x2b]
cmp byte [ebp + 0x3a], 0
mov byte [ebp + 0x2f], 0
je 0x1002dbf9
mov byte [ebp + 0x47], 0
mov byte [ebp + 0x46], 1
mov eax, dword [ebp + 0x74]
cmp word [eax], 0x2d
mov byte [ebp + 0x5b], 0x2a
jne 0x1002dc0b
mov al, byte [eax]
mov byte [ebp + 0x5b], al
push 0xda8
lea ecx, [ebp - 0x74]
mov dword [ebp - 0x64], esi
mov dword [ebp + 0x34], esi
call fcn.10045fcc
push dword [ebp - 0x74]
call fcn.1003f93e
mov ebx, dword [ebp - 0x74]
lea edi, [ebx + 0x1bc]
lea eax, [edi + 0x1ac]
mov dword [ebp - 0x48], eax
lea eax, [ebx + 0x504]
mov dword [ebp], eax
pop ecx
lea ecx, [eax + 0x6b0]
add eax, 0x6c0
mov dword [ebp - 0x38], eax
add eax, 0x20
mov dword [ebp - 0x4c], eax
mov eax, dword [ebp + 0x74]
movzx edx, word [eax]
mov dword [ebp - 0x84], ecx
movsx ecx, byte [ebp + 0x5b]
cmp edx, ecx
mov dword [ebp + 8], edi
mov byte [ebp + 0x4b], 0
mov dword [ebp - 0x1c], esi
jne 0x1002e275
movzx edx, word [eax + 2]
movsx ecx, byte [ebp + 0x5b]
cmp edx, ecx
jne 0x1002e257
add eax, 4
mov dword [ebp + 0x74], eax
push 1
lea eax, [ebp + 0x74]
push eax
push 0x100cc60c
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002dcb1
mov dword [ebp + 0x78], 1
jmp 0x1002e23d
push 2
lea eax, [ebp + 0x74]
push eax
push 0x100cc608
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002dcd1
mov byte [ebp + 0x47], 1
jmp 0x1002e23d
push 3
lea eax, [ebp + 0x74]
push eax
push 0x100cb3f8
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002dcf1
mov byte [ebp + 0x47], 0
jmp 0x1002e23d
push 4
lea eax, [ebp + 0x74]
push eax
push str.nrcd
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002dd11
mov byte [ebp + 0x46], 2
jmp 0x1002e23d
push 3
lea eax, [ebp + 0x74]
push eax
push 0x100cc5fc
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002dd31
mov byte [ebp + 0x46], 0
jmp 0x1002e23d
mov eax, dword [ebp + 0x74]
mov cx, word [eax]
or cx, 0x20
cmp cx, 0x71
jne 0x1002debd
mov cx, word [eax + 2]
or cx, 0x20
cmp cx, 0x64
jne 0x1002debd
add eax, 4
mov dword [ebp + 0x74], eax
push esi
lea eax, [ebp + 0x74]
push eax
push 0x100c78c2
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002dd7c
mov byte [ebp + 0x67], 1
jmp 0x1002e23d
push 1
lea eax, [ebp + 0x74]
push eax
push 0x100cc5f8
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002dd9c
mov byte [ebp + 0x67], 0x23
jmp 0x1002e23d
push 1
lea eax, [ebp + 0x74]
push eax
push 0x100cb458
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002ddbc
mov byte [ebp + 0x67], 0x2a
jmp 0x1002e23d
push 1
lea eax, [ebp + 0x74]
push eax
push 0x100cc5f4
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002dddc
mov byte [ebp + 0x67], 0x3e
jmp 0x1002e23d
push 1
lea eax, [ebp + 0x74]
push eax
push 0x100cc5f0
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002ddfc
mov byte [ebp + 0x67], 0x24
jmp 0x1002e23d
push 1
lea eax, [ebp + 0x74]
push eax
push 0x100cc5ec
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002de1c
mov byte [ebp + 0x67], 0x40
jmp 0x1002e23d
push 1
lea eax, [ebp + 0x74]
push eax
push 0x100cc5e8
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002de3c
mov byte [ebp + 0x67], 0x3d
jmp 0x1002e23d
push 1
lea eax, [ebp + 0x74]
push eax
push 0x100cc5e4
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002de5c
mov byte [ebp + 0x67], 0x3c
jmp 0x1002e23d
push 1
push dword [ebp + 0x74]
push str.:____
call fcn.10040df5
add esp, 0xc
test al, al
je 0x1002dea2
add dword [ebp + 0x74], 2
mov eax, dword [ebp + 0x74]
mov dword [ebp - 0x6c], eax
lea eax, [ebp + 0x74]
push eax
call fcn.10005b74
mov eax, dword [ebp + 0x74]
cmp word [eax], si
pop ecx
je 0x1002de95
mov word [eax], si
add dword [ebp + 0x74], 2
mov eax, dword [ebp - 0x6c]
cmp word [eax], si
je 0x1002def4
mov dword [ebp - 0x64], eax
jmp 0x1002def4
sub dword [ebp + 0x74], 4
cmp byte [ebp + 0x5b], 0x2a
jne 0x1002e233
mov edx, dword [ebp + 0x74]
xor ecx, ecx
mov cx, word [edx]
jmp 0x1002e22e
push 4
push eax
push str.arg:
call fcn.10040df5
add esp, 0xc
test al, al
je 0x1002df01
add dword [ebp + 0x74], 8
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x34], eax
lea eax, [ebp + 0x74]
push eax
call fcn.10005b74
pop ecx
mov eax, dword [ebp + 0x74]
cmp word [eax], si
je 0x1002def4
mov word [eax], si
add dword [ebp + 0x74], 2
lea ecx, [ebp + 0x74]
call fcn.1000f804
jmp 0x1002e23d
push 2
lea eax, [ebp + 0x74]
push eax
push 0x100cc5d4
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002df24
mov dword [ebp - 0xc], 1
jmp 0x1002e23d
push 3
lea eax, [ebp + 0x74]
push eax
push 0x100cc5d0
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002df43
mov dword [ebp - 0xc], esi
jmp 0x1002e23d
push 3
lea eax, [ebp + 0x74]
push eax
push 0x100cc5cc
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002df63
mov byte [ebp + 0x2c], 1
jmp 0x1002e23d
push 3
lea eax, [ebp + 0x74]
push eax
push 0x100cc5c8
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002df83
mov byte [ebp + 0x2d], 1
jmp 0x1002e23d
push 1
lea eax, [ebp + 0x74]
push eax
push 0x100cbd1c
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002dfa3
mov byte [ebp - 0xe], 1
jmp 0x1002e23d
push 3
lea eax, [ebp + 0x74]
push eax
push 0x100c7f78
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002dfc3
mov byte [ebp + 0x48], 1
jmp 0x1002e23d
push 2
lea eax, [ebp + 0x74]
push eax
push 0x100cc5c4
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002dfe3
mov byte [ebp + 0x1e], 1
jmp 0x1002e23d
push 4
lea eax, [ebp + 0x74]
push eax
push str.bool
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002e003
mov byte [ebp + 0x48], 2
jmp 0x1002e23d
push 5
push dword [ebp + 0x74]
push str.sret:
call fcn.10040df5
add esp, 0xc
test al, al
je 0x1002e023
add dword [ebp + 0x74], 2
mov byte [ebp + 0x2e], 1
jmp 0x1002e039
push 4
push dword [ebp + 0x74]
push 0x100cc5ac
call fcn.10040df5
add esp, 0xc
test al, al
je 0x1002e0b4
add dword [ebp + 0x74], 8
mov eax, dword [ebp + 0x74]
mov dword [ebp - 0x18], eax
lea eax, [ebp + 0x74]
push eax
call fcn.10005b74
mov eax, dword [ebp - 0x18]
mov ax, word [eax]
cmp ax, 0x7e
pop ecx
je 0x1002e0a9
cmp ax, 0x40
je 0x1002e0a9
mov eax, dword [ebp + 0x74]
sub eax, dword [ebp - 0x18]
lea ecx, [ebp + 0x18]
sar eax, 1
push eax
push dword [ebp - 0x18]
call fcn.10046247
mov ecx, dword [ebp + 0x70]
push esi
lea eax, [ebp + 0x18]
push eax
call fcn.10002f54
push dword [ebp + 0x18]
mov byte [ebp + 0x52], 1
push 0x100c7fa0
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x1002def4
mov eax, dword [ebp + 0x18]
mov byte [ebp + 0x52], 3
mov word [eax], si
jmp 0x1002def4
mov eax, dword [ebp - 0x18]
mov dword [ebp - 0x1c], eax
jmp 0x1002dee5
push 5
push dword [ebp + 0x74]
push str.vret:
call fcn.10040df5
add esp, 0xc
test al, al
je 0x1002e134
add dword [ebp + 0x74], 0xa
mov eax, dword [ebp + 0x74]
mov dword [ebp - 4], eax
lea eax, [ebp + 0x74]
push eax
call fcn.10005b74
mov eax, dword [ebp + 0x74]
sub eax, dword [ebp - 4]
pop ecx
sar eax, 1
push eax
push dword [ebp - 4]
lea ecx, [ebp - 0x28]
call fcn.10050208
lea ecx, [ebp + 0x74]
call fcn.1000f804
mov ecx, dword [ebp + 0x70]
push esi
lea eax, [ebp - 0x28]
push eax
call fcn.10002f54
mov ecx, dword [ebp + 0x70]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp - 0x28]
call fcn.10010cdd
cmp eax, esi
je 0x1002e127
mov eax, dword [eax + 4]
mov byte [ebp + 0x4b], 1
mov dword [ebp - 0x84], eax
lea ecx, [ebp - 0x28]
call fcn.1003f96c
jmp 0x1002e23d
push 6
push dword [ebp + 0x74]
push str.ivret:
call fcn.10040df5
add esp, 0xc
test al, al
je 0x1002e18c
add dword [ebp + 0x74], 0xc
mov eax, dword [ebp + 0x74]
mov dword [ebp - 4], eax
lea eax, [ebp + 0x74]
push eax
call fcn.10005b74
mov eax, dword [ebp + 0x74]
sub eax, dword [ebp - 4]
pop ecx
sar eax, 1
push eax
push dword [ebp - 4]
lea ecx, [ebp - 0x44]
call fcn.10046247
lea ecx, [ebp + 0x74]
call fcn.1000f804
mov ecx, dword [ebp + 0x70]
push esi
lea eax, [ebp - 0x44]
push eax
call fcn.10002f54
jmp 0x1002e23d
push 1
lea eax, [ebp + 0x74]
push eax
push 0x100cb404
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002e1ac
mov byte [ebp + 0x50], 1
jmp 0x1002e23d
push 3
lea eax, [ebp + 0x74]
push eax
push 0x100cc598
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002e1cd
mov byte [ebp + 0x51], 2
mov byte [ebp + 0x1d], 2
jmp 0x1002e23d
push 3
lea eax, [ebp + 0x74]
push eax
push 0x100cc594
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002e1ee
mov byte [ebp + 0x51], 4
mov byte [ebp + 0x1d], 4
jmp 0x1002e23d
push 6
lea eax, [ebp + 0x74]
push eax
push str.putref
call fcn.10048195
add esp, 0xc
test al, al
je 0x1002dea6
mov byte [ebp + 0x51], 8
mov byte [ebp + 0x1d], 8
jmp 0x1002e23d
mov eax, ecx
call fcn.10002df6
test al, al
jne 0x1002e233
cmp cx, 0x2c
je 0x1002e251
add dword [ebp + 0x74], 2
mov eax, dword [ebp + 0x74]
mov cx, word [eax]
cmp cx, si
jne 0x1002e213
lea eax, [ebp + 0x74]
push eax
call fcn.10008e60
pop ecx
mov eax, dword [ebp + 0x74]
movzx edx, word [eax]
movsx ecx, byte [ebp + 0x5b]
cmp edx, ecx
je 0x1002dc78
jmp 0x1002e257
lea eax, [edx - 4]
mov dword [ebp + 0x74], eax
cmp byte [ebp + 0x2c], 0
je 0x1002e275
mov ecx, dword [ebp + 0x70]
push 0xffffffffffffff9c
push 0x100c6a64
push esi
push eax
call fcn.1005d124
mov esi, eax
jmp 0x10030837
lea ecx, [ebp - 0xa4]
mov dword [ebp + 0x14], esi
call fcn.100463df
mov eax, dword [ebp + 0x7c]
mov ecx, dword [ebp - 0x48]
mov dword [ebp + 0x60], eax
mov eax, dword [ebp + 0x74]
mov dword [edi], eax
mov eax, dword [ebp + 0x74]
push 0x2c
mov dword [ecx], eax
push dword [ebp + 0x74]
mov dword [ebp - 0x88], edi
mov dword [ebp + 0x3c], 1
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, esi
mov dword [ebp + 0x40], eax
je 0x1002e2c1
sub eax, dword [ebp - 0x3c]
sar eax, 1
add dword [ebp + 0x40], 2
mov dword [ebp + 4], eax
mov eax, dword [ebp + 0x40]
cmp eax, esi
mov ecx, dword [ebp - 0x48]
mov dword [edi + 4], eax
mov dword [ecx + 4], eax
je 0x1002e2e9
push 0xc
push eax
push str._LoadLibrary
call fcn.10040df5
add esp, 0xc
test al, al
mov byte [ebp + 0x53], 1
jne 0x1002e2ed
mov byte [ebp + 0x53], 0
cmp dword [ebp + 0x40], esi
je 0x1002e30c
push 0xf
push dword [ebp + 0x40]
push str._GetProcAddress
call fcn.10040df5
add esp, 0xc
test al, al
mov byte [ebp + 0x49], 1
jne 0x1002e310
mov byte [ebp + 0x49], 0
cmp dword [ebp + 0x40], esi
je 0x1002e32f
push 0xc
push dword [ebp + 0x40]
push str._FreeLibrary
call fcn.10040df5
add esp, 0xc
test al, al
mov byte [ebp + 0x5a], 1
jne 0x1002e333
mov byte [ebp + 0x5a], 0
mov al, byte [ebp + 0x5a]
or al, byte [ebp + 0x49]
or al, byte [ebp + 0x53]
mov byte [ebp + 0x2e], al
mov eax, dword [ebp + 0x40]
cmp eax, esi
je 0x1002e365
cmp word [eax], 0x2a
jne 0x1002e365
movzx eax, word [eax + 2]
cmp ax, 0x2c
je 0x1002e35f
call fcn.1000f81a
test al, al
je 0x1002e365
mov byte [ebp + 0x1f], 1
jmp 0x1002e385
cmp byte [ebp + 0x3a], 0
mov byte [ebp + 0x1f], 0
jne 0x1002e385
cmp byte [ebp + 0x2b], 0
jne 0x1002e385
cmp byte [ebp + 0x53], 0
jne 0x1002e385
cmp byte [ebp + 0x5a], 0
mov byte [ebp + 0x1c], 1
je 0x1002e389
mov byte [ebp + 0x1c], 0
mov al, byte [ebp + 0x49]
or al, byte [ebp + 0x53]
je 0x1002e395
or byte [ebp + 0x1e], 0x10
cmp byte [ebp + 0x2d], 0
mov dword [ebp - 0x18], esi
jne 0x1002e4ac
cmp byte [ebp + 0x1c], 0
je 0x1002e4ac
mov eax, dword [ebp + 0x7c]
cmp eax, esi
mov dword [ebp + 0x60], eax
jne 0x1002e3bc
mov eax, dword [ebp + 0x74]
mov dword [ebp + 0x60], eax
push 0x2c
push dword [ebp + 0x60]
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, esi
mov dword [ebp + 0x60], eax
je 0x1002e3d9
mov word [eax], si
mov eax, dword [ebp + 0x60]
inc eax
inc eax
mov dword [ebp + 0x60], eax
cmp dword [ebp + 0x34], esi
je 0x1002e470
lea eax, [ebp + 0x60]
push eax
call fcn.10005b74
mov eax, dword [ebp + 0x60]
cmp word [eax], si
pop ecx
je 0x1002e3fb
mov word [eax], si
add dword [ebp + 0x60], 2
lea ecx, [ebp + 0x60]
call fcn.1000f804
mov dword [ebp + 0x3c], 2
jmp 0x1002e466
cmp dword [ebp + 0x3c], 0x6a
jge 0x1002e4ac
mov ecx, dword [ebp + 0x34]
mov dx, word [ecx]
cmp dx, si
je 0x1002e42c
add ecx, 2
cmp word [ecx], si
je 0x1002e42c
mov dword [ebp + 0x34], ecx
mov dword [ebp - 4], eax
xor eax, eax
cmp dx, 0x7e
setne al
dec eax
and eax, 0xfffffee8
add eax, 0x5a5
push eax
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 4]
push eax
call fcn.1001a65a
mov ecx, dword [ebp + 0x3c]
mov dword [ebp + 0x60], eax
mov eax, dword [ebp - 4]
add esp, 0xc
inc dword [ebp + 0x3c]
mov dword [edi + ecx*4], eax
mov eax, dword [ebp + 0x60]
cmp word [eax], si
jne 0x1002e40c
jmp 0x1002e4ac
mov dword [ebp + 0x3c], 1
cmp eax, esi
je 0x1002e4ac
mov ecx, dword [ebp + 0x3c]
cmp ecx, 2
jl 0x1002e486
mov dword [edi + ecx*4], eax
inc dword [ebp + 0x3c]
push 0x2c
push dword [ebp + 0x60]
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, esi
mov dword [ebp + 0x60], eax
je 0x1002e4a6
mov word [eax], si
mov eax, dword [ebp + 0x60]
inc eax
inc eax
mov dword [ebp + 0x60], eax
cmp dword [ebp + 0x3c], 0x6a
jl 0x1002e477
mov eax, dword [ebp + 0x40]
cmp eax, esi
mov dword [ebp - 0x70], esi
mov dword [ebp - 4], esi
je 0x1002e4bd
mov word [eax - 2], si
cmp byte [ebp + 0x1f], 0
jne 0x1002e4db
cmp eax, esi
je 0x1002e4db
cmp word [eax], 0x2a
jne 0x1002e4db
inc dword [ebp + 0x20]
inc eax
inc eax
cmp word [eax], 0x2a
je 0x1002e4cd
mov dword [ebp + 0x40], eax
xor ecx, ecx
cmp eax, esi
mov dword [ebp + 0x4c], ecx
je 0x1002e54e
cmp dword [ebp + 0x34], esi
je 0x1002e53e
mov edx, dword [ebp + 0x40]
jmp 0x1002e504
xor eax, eax
mov ax, word [edx]
cmp ax, 0x2c
je 0x1002e509
call fcn.10002df6
test al, al
jne 0x1002e509
inc edx
inc edx
cmp word [edx], si
jne 0x1002e4ee
cmp word [edx], si
je 0x1002e54e
lea ecx, [ebp + 0x4c]
mov dword [ebp + 0x4c], edx
call fcn.1000f804
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0x2c
jne 0x1002e52b
add dword [ebp + 0x4c], 2
call fcn.1000f804
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
jne 0x1002e536
mov dword [ebp + 0x4c], esi
mov word [edx], si
mov ecx, dword [ebp + 0x4c]
jmp 0x1002e54e
push 0x2c
push dword [ebp + 0x40]
call dword [sym.imp.SHLWAPI.dll_StrChrW]
mov ecx, eax
mov dword [ebp + 0x4c], ecx
mov eax, dword [ebp + 0x74]
cmp word [eax], si
jne 0x1002e566
cmp byte [ebp + 0x2e], 0
jne 0x1002e566
mov esi, 0x80070057
jmp 0x10030819
cmp dword [ebp + 0x34], esi
jne 0x1002e57f
cmp ecx, esi
je 0x1002e57f
cmp word [ecx], si
je 0x1002e57f
mov word [ecx], si
mov ecx, dword [ebp + 0x4c]
inc ecx
inc ecx
mov dword [ebp + 0x4c], ecx
mov edi, dword [ebp + 0x40]
cmp edi, esi
je 0x1002e5f6
push 0x2e
push edi
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, esi
je 0x1002e5f3
mov word [eax], si
inc eax
inc eax
mov dword [ebp - 0x20], eax
mov dword [ebp + 0x30], eax
lea eax, [ebp - 0x20]
push eax
call fcn.10005b74
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp + 0x30]
pop ecx
mov byte [ebp + 0x3b], 1
je 0x1002e5f3
cmp word [eax], si
je 0x1002e5bc
mov word [eax], si
mov eax, dword [ebp + 0x30]
cmp word [eax], 0x3f
jne 0x1002e5cd
add dword [ebp + 0x30], 2
mov byte [ebp + 0x2f], 2
mov eax, dword [ebp + 0x30]
mov dword [ebp - 8], eax
lea eax, [ebp + 0xc]
push eax
lea eax, [ebp + 0x30]
push eax
mov byte [ebp + 0x3b], 3
call fcn.10042554
test eax, eax
pop ecx
pop ecx
je 0x1002e5f3
cmp dword [ebp + 0xc], esi
jl 0x1002e5f3
mov byte [ebp + 0x3b], 7
mov ecx, dword [ebp + 0x4c]
mov al, byte [ebp + 0x52]
and al, 2
mov byte [ebp + 0x13], al
je 0x1002e60c
cmp edi, esi
je 0x1002e60c
cmp word [edi], si
jne 0x1002e60c
mov dword [ebp + 0x40], esi
test al, al
je 0x1002e694
cmp ecx, esi
je 0x1002e694
cmp dword [ebp + 0x34], esi
je 0x1002e676
mov edx, ecx
xor eax, eax
jmp 0x1002e637
cmp ax, 0x2c
je 0x1002e63f
call fcn.10002df6
test al, al
jne 0x1002e63f
inc ecx
inc ecx
mov dword [ebp + 0x4c], ecx
mov ax, word [ecx]
cmp ax, si
jne 0x1002e623
sub ecx, edx
sar ecx, 1
push ecx
push edx
lea ecx, [ebp + 0x18]
call fcn.10046247
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
je 0x1002e691
lea ecx, [ebp + 0x4c]
mov edx, eax
call fcn.1000f804
mov eax, dword [ebp + 0x4c]
cmp word [eax], 0x2c
jne 0x1002e671
add dword [ebp + 0x4c], 2
call fcn.1000f804
mov word [edx], si
jmp 0x1002e689
mov ecx, dword [ebp + 0x70]
push esi
push 0x2c
lea eax, [ebp + 0x18]
push eax
lea eax, [ebp + 0x4c]
push eax
call fcn.1003ac0c
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
jne 0x1002e694
mov dword [ebp + 0x4c], esi
push 0x20a
lea ecx, [ebp - 0x60]
mov dword [ebp + 0x5c], esi
mov dword [ebp + 0x30], esi
mov dword [ebp + 0x54], esi
mov byte [ebp + 0x2c], 0xff
call fcn.10046141
cmp byte [ebp + 0x46], 0
mov byte [ebp - 0xd], 0
jg 0x1002e6c6
push dword [ebp - 0x60]
push 0x208
call dword [sym.imp.KERNEL32.dll_GetCurrentDirectoryW]
cmp byte [ebp + 0x53], 0
mov eax, dword [ebp + 0x4c]
je 0x1002e6e7
cmp eax, esi
je 0x1002e6e7
cmp word [eax], 0x5e
jne 0x1002e6e7
push 0x2a
pop edx
cmp word [eax + 2], dx
jne 0x1002e6ea
xor edi, edi
inc edi
jmp 0x1002e6ec
push 0x2a
pop edx
xor edi, edi
cmp byte [ebp + 0x53], 0
je 0x1002e708
cmp eax, esi
je 0x1002e708
cmp word [eax], 0x5e
jne 0x1002e708
cmp word [eax + 2], dx
je 0x1002e708
mov byte [ebp + 0x2e], 1
jmp 0x1002e710
cmp edi, esi
mov byte [ebp + 0x2e], 0
je 0x1002e71a
push 2
pop edi
add eax, edi
mov dword [ebp + 0x4c], eax
jmp 0x1002e71d
push 2
pop edi
cmp eax, esi
je 0x1002e80f
cmp word [eax], 0x3c
jne 0x1002e80f
add eax, edi
mov byte [ebp + 0x5b], 1
mov dword [ebp + 0x4c], eax
cmp byte [ebp + 0x53], 0
je 0x1002e83d
cmp byte [ebp + 0x50], 0
jne 0x1002e83d
mov ecx, dword [ebp + 0x18]
mov cx, word [ecx]
cmp cx, si
je 0x1002e833
cmp cx, dx
je 0x1002e833
cmp eax, esi
je 0x1002e83d
cmp word [eax], dx
je 0x1002e83d
mov cl, byte [ebp + 0x5b]
neg cl
mov dword [ebp + 0x7c], esi
mov dword [ebp + 0x78], eax
sbb ecx, ecx
and ecx, 8
mov dword [ebp - 0x1c], ecx
cmp word [eax], 0x22
jne 0x1002e7a3
push 0x8d
lea eax, [ebp + 0x4c]
push esi
push eax
call fcn.1001a65a
add esp, 0xc
mov dword [ebp + 0x78], eax
push 0x2c
push dword [ebp + 0x78]
call dword [sym.imp.SHLWAPI.dll_StrChrW]
cmp eax, esi
mov dword [ebp + 0x78], eax
je 0x1002e7d9
mov word [eax], si
add dword [ebp + 0x78], 2
lea eax, [ebp + 0x7c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.10014a3c
lea eax, [ebp - 0x1c]
push eax
lea eax, [ebp + 0x78]
push eax
call fcn.10014a3c
add esp, 0x10
cmp byte [ebp + 0x5b], 0
je 0x1002e7e8
cmp dword [ebp + 0x7c], esi
je 0x1002e7e8
mov byte [ebp + 0x5b], 0x10
push dword [ebp + 0x4c]
lea eax, [ebp + 0x47]
push eax
call fcn.100121a4
cmp byte [ebp + 0x5b], 0
pop ecx
pop ecx
je 0x1002e818
call fcn.10002e3e
push dword [ebp + 0x7c]
push dword [ebp + 0x4c]
call dword [0x100e34f8]
jmp 0x1002e827
mov byte [ebp + 0x5b], 0
jmp 0x1002e738
push dword [ebp - 0x1c]
push dword [ebp + 0x7c]
push dword [ebp + 0x4c]
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp + 0x5c], eax
mov byte [ebp + 0x4a], 1
jmp 0x1003065a
mov esi, 0x80070057
jmp 0x10030811
cmp byte [ebp + 0x49], 0
je 0x1002e8e5
cmp eax, esi
je 0x10030688
cmp word [eax], dx
mov byte [ebp + 0x4a], 1
jne 0x1002e85d
add eax, edi
mov dword [ebp + 0x4c], eax
mov cx, word [eax]
cmp cx, dx
je 0x1002e86b
cmp cx, 0x23
jne 0x1002e871
mov byte [ebp + 0x50], 1
jmp 0x1002e858
cmp word [eax], 0x3c
jne 0x1002e87c
add eax, edi
mov dword [ebp + 0x4c], eax
cmp word [eax], si
je 0x10030688
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
call fcn.1007edb8
mov eax, dword [ebp + 0x4c]
cmp word [eax], si
pop ecx
pop ecx
je 0x10030686
push eax
lea ecx, [ebp + 0x78]
call fcn.10002db7
cmp byte [ebp + 0x50], 0
je 0x1002e8c9
mov ecx, dword [ebp - 0x58]
mov eax, ecx
or eax, dword [ebp - 0x54]
je 0x1002e8d8
push dword [ebp + 0x78]
call fcn.10010539
jmp 0x1002e8d5
push dword [ebp + 0x78]
push dword [ebp - 0x58]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
mov dword [ebp + 0x5c], eax
lea ecx, [ebp + 0x78]
call fcn.1003f96c
jmp 0x10030688
cmp byte [ebp + 0x5a], 0
je 0x1002e987
cmp eax, esi
je 0x10030688
xor bl, bl
cmp word [eax], dx
mov byte [ebp + 0x4a], 1
jne 0x1002e907
add eax, edi
mov dword [ebp + 0x4c], eax
mov cx, word [eax]
cmp cx, dx
je 0x1002e915
cmp cx, 0x23
jne 0x1002e91b
mov byte [ebp + 0x50], 1
jmp 0x1002e902
cmp word [eax], 0x3c
jne 0x1002e928
add eax, edi
mov dword [ebp + 0x4c], eax
mov bl, 1
cmp word [eax], si
je 0x10030688
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x4c]
push eax
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
call fcn.1005381f
cmp byte [ebp + 0x50], 1
pop ecx
pop ecx
jle 0x1002e967
mov ecx, dword [ebp - 0x30]
mov eax, ecx
or eax, dword [ebp - 0x2c]
je 0x10030686
call fcn.100104f2
mov dword [ebp + 0x5c], esi
jmp 0x10030688
test bl, bl
push dword [ebp - 0x30]
je 0x1002e979
call dword [0x100e34fc]
jmp 0x10030688
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
mov dword [ebp + 0x5c], eax
jmp 0x10030688
cmp byte [ebp - 0x3d], 0
mov byte [ebp + 0x5a], 0
je 0x1002e995
mov byte [ebp + 0x5a], 1
cmp eax, esi
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
jne 0x1002eabc
cmp dword [ebp + 0x40], esi
jne 0x1002e9b1
mov dword [ebp + 0x40], 0x100cc536
jmp 0x1002e9d1
push dword [ebp + 0x40]
push 0x100cc536
call edi
test eax, eax
je 0x1002e9d1
push dword [ebp + 0x40]
push 0x100cc50a
call edi
test eax, eax
jne 0x1002eabc
cmp dword [ebp - 0xc], esi
mov byte [ebp + 0x5a], 0xff
jge 0x1002e9e1
mov dword [ebp - 0xc], 0x31
cmp byte [ebp - 0xc], 0
je 0x1002eabc
lea ecx, [ebp + 0x78]
call fcn.10046123
push 0xffffffffffffffff
push str.___exe:_
lea ecx, [ebp + 0x7c]
call fcn.10050221
lea eax, [ebp + 0x7c]
push eax
lea ecx, [ebp + 0x78]
call fcn.1005029a
lea ecx, [ebp + 0x7c]
call fcn.1003f96c
push 0x51c
lea ecx, [ebp + 0x78]
call fcn.10046168
mov eax, dword [ebp + 0x78]
push 0x208
add eax, 0x10
push eax
push esi
call dword [sym.imp.KERNEL32.dll_GetModuleFileNameW]
push 0xffffffffffffffff
push str.____nowin___nfb___hide_PECMDpecmd_cmd_CALL__
lea ecx, [ebp + 0x7c]
call fcn.10050221
push dword [eax]
lea ecx, [ebp + 0x78]
call fcn.1004618f
lea ecx, [ebp + 0x7c]
call fcn.1003f96c
mov eax, dword [ebp + 4]
cmp eax, esi
jl 0x1002ea65
mov ecx, dword [ebp - 0x68]
mov word [ecx + eax*2], si
push dword [ebp - 0x68]
lea ecx, [ebp + 0x78]
call fcn.1004618f
push 0xffffffffffffffff
push 0x100cc4c4
lea ecx, [ebp + 0x7c]
call fcn.10050221
push dword [eax]
lea ecx, [ebp + 0x78]
call fcn.1004618f
lea ecx, [ebp + 0x7c]
call fcn.1003f96c
push dword [ebp + 0x40]
lea ecx, [ebp + 0x78]
call fcn.1004618f
mov ecx, dword [ebp + 0x70]
push esi
push esi
push esi
push esi
push esi
push ecx
push dword [ebp + 0x78]
call fcn.1000a5c9
lea ecx, [ebp + 0x78]
mov esi, eax
call fcn.1003f96c
jmp 0x10030811
mov eax, dword [ebp + 0x40]
cmp eax, esi
je 0x10030866
cmp word [eax], si
je 0x10030866
cmp byte [ebp + 0x2d], 0
jne 0x1002eb7a
cmp byte [ebp + 0x1c], 0
je 0x1002eb7a
cmp dword [ebp + 0x7c], esi
je 0x1002eb7a
mov eax, dword [ebp - 0x48]
push 2
mov dword [ebp - 0x88], eax
pop eax
cmp dword [ebp + 0x3c], eax
mov dword [ebp - 0x5c], esi
mov dword [ebp - 0x18], eax
jle 0x1002eb72
mov ecx, dword [ebp + 8]
mov eax, dword [ebp - 0x48]
sub eax, ecx
mov dword [ebp + 0x7c], eax
mov eax, dword [ebp + 0x3c]
add eax, 0xfffffffe
lea edi, [ecx + 8]
mov dword [ebp - 0x20], eax
mov eax, dword [edi]
push 0x25
push eax
call dword [sym.imp.SHLWAPI.dll_StrChrW]
test eax, eax
jne 0x1002eb34
mov eax, dword [edi]
mov ecx, dword [ebp + 0x7c]
mov dword [ecx + edi], eax
jmp 0x1002eb64
mov ecx, dword [ebp + 0x70]
push 1
push esi
lea eax, [ebp - 0x5c]
push eax
push dword [edi]
call fcn.10058f7c
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp - 0x48]
mov edx, dword [ebp - 0x18]
inc dword [ebp - 0x18]
mov dword [ecx + edx*4 + 0x1ac], eax
mov eax, dword [ebp - 0x5c]
mov ecx, dword [ebp + 0x7c]
mov dword [ecx + edi], eax
mov dword [ebp - 0x5c], esi
add edi, 4
dec dword [ebp - 0x20]
jne 0x1002eb1b
mov edi, dword [sym.imp.KERNEL32.dll_lstrcmpiW]
lea ecx, [ebp - 0x5c]
call fcn.1003f96c
push str._DllRegisterServer
push dword [ebp + 0x40]
mov dword [ebp - 0x3c], 2
mov dword [ebp - 0x30], esi
mov dword [ebp - 0x2c], esi
call edi
test eax, eax
jne 0x1002ebb0
cmp dword [ebp - 0xc], esi
mov dword [ebp + 0x40], 0x100cc536
mov byte [ebp + 0x5a], 0xff
jge 0x1002ebac
mov dword [ebp - 0xc], 0x31
mov byte [ebp + 0x47], 1
push str._DllUnregisterServer
push dword [ebp + 0x40]
call edi
test eax, eax
jne 0x1002ebdc
cmp dword [ebp - 0xc], esi
mov ecx, 0x100cc50a
mov dword [ebp + 0x40], ecx
mov byte [ebp + 0x5a], 0xff
jge 0x1002ebd6
mov dword [ebp - 0xc], 0x71
mov byte [ebp + 0x47], 1
jmp 0x1002ebdf
mov ecx, dword [ebp + 0x40]
xor edx, edx
mov dx, word [ecx]
mov dword [ebp - 0x58], esi
mov dword [ebp - 0x54], esi
mov eax, edx
call fcn.10014a5c
test al, al
jne 0x1002ec0f
cmp dx, 0x26
je 0x1002ec48
cmp dword [ebp + 0x20], esi
jg 0x1002ec48
mov eax, dword [ebp + 0x74]
cmp word [eax], 0x23
jne 0x1002ec7c
cmp word [eax + 2], si
jne 0x1002ec7c
lea eax, [ebp - 0x58]
push eax
lea eax, [ebp - 0x90]
push eax
mov dword [ebp - 0x90], ecx
call fcn.100539de
mov eax, dword [ebp - 0x58]
pop ecx
pop ecx
mov ecx, eax
or ecx, dword [ebp - 0x54]
je 0x1002ec63
mov dword [ebp + 0x54], eax
cmp byte [ebp + 0x46], 0
mov byte [ebp + 0x5a], 1
jge 0x1002ec42
mov byte [ebp + 0x46], 1
mov byte [ebp + 0x1f], 0
jmp 0x1002ec7f
push esi
push 0xffffffffffffffff
push esi
push ecx
mov ecx, dword [ebp + 0x70]
call fcn.10010cdd
cmp eax, esi
je 0x1002ec63
mov eax, dword [eax + 4]
cmp eax, esi
mov dword [ebp + 0x54], eax
jne 0x1002ec34
mov al, byte [ebp + 0x2b]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
mov dword [ebp + 0x5c], eax
jmp 0x1003071e
mov eax, dword [ebp + 0x54]
mov ecx, dword [ebp + 0x20]
cmp ecx, esi
jle 0x1002ec98
cmp eax, esi
je 0x1002ec98
dec ecx
cmp ecx, esi
jl 0x1002ec98
inc ecx
dec ecx
mov eax, dword [eax]
jne 0x1002ec90
mov dword [ebp + 0x54], eax
or dword [ebp - 0x28], 0xffffffff
cmp dword [ebp - 8], esi
mov dword [ebp - 0x20], eax
je 0x1002ecbd
cmp dword [ebp + 0xc], esi
jge 0x1002ecbd
cmp eax, esi
mov byte [ebp + 0x7f], 1
jne 0x1002ecdd
mov dword [ebp - 0x14], 0x80070057
jmp 0x1003065a
mov byte [ebp + 0x7f], 0
cmp byte [ebp + 0x2f], 0
je 0x1002efaa
mov ecx, dword [ebp + 0xc]
mov dword [ebp + 0x5c], ecx
mov dword [ebp - 0x14], ecx
mov byte [ebp + 0x4a], 0x10
jmp 0x10030686
mov edi, dword [eax]
cmp edi, esi
mov dword [ebp + 0x3c], esi
mov dword [ebp - 0x24], edi
je 0x1002edc2
push dword [ebp - 8]
push str.Release
call fcn.10040e73
test al, al
pop ecx
pop ecx
je 0x1002ed0c
mov dword [ebp + 0xc], 2
jmp 0x1002eed4
push dword [ebp - 8]
push str.AddRef
call fcn.10040e73
test al, al
pop ecx
pop ecx
je 0x1002ed2b
mov dword [ebp + 0xc], 1
jmp 0x1002eed4
push dword [ebp - 8]
push str.QueryInterface
call fcn.10040e73
test al, al
pop ecx
pop ecx
je 0x1002ed46
mov dword [ebp + 0xc], esi
jmp 0x1002eed4
push dword [ebp - 8]
push str.GetTypeInfoCount
call fcn.10040e73
test al, al
pop ecx
pop ecx
je 0x1002ed65
mov dword [ebp + 0xc], 3
jmp 0x1002eed4
push dword [ebp - 8]
push str.GetTypeInfo
call fcn.10040e73
test al, al
pop ecx
pop ecx
je 0x1002ed84
mov dword [ebp + 0xc], 4
jmp 0x1002eed4
push dword [ebp - 8]
push str.GetIDsOfNames
call fcn.10040e73
test al, al
pop ecx
pop ecx
je 0x1002eda3
mov dword [ebp + 0xc], 5
jmp 0x1002eed4
push dword [ebp - 8]
push str.Invoke
call fcn.10040e73
test al, al
pop ecx
pop ecx
je 0x1002edc2
mov dword [ebp + 0xc], 6
jmp 0x1002eed4
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax]
lea edx, [ebp - 0x28]
push edx
mov edi, 0x800
push edi
push 1
lea edx, [ebp - 8]
push edx
push 0x100d4dec
push eax
call dword [ecx + 0x14]
cmp eax, esi
mov ecx, dword [ebp - 0x28]
mov dword [ebp + 0xc], ecx
jne 0x1002ef94
cmp ecx, esi
jl 0x1002ef94
cmp dword [ebp - 0x24], esi
mov dword [ebp + 4], esi
je 0x1002ee0b
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax]
lea edx, [ebp + 4]
push edx
push eax
call dword [ecx + 0xc]
cmp dword [ebp + 4], esi
mov dword [ebp - 0x34], esi
je 0x1002ee2c
cmp dword [ebp - 0x24], esi
je 0x1002ee2c
cmp dword [ebp + 0x3c], esi
jne 0x1002ee37
mov eax, dword [ebp + 0x54]
mov ecx, dword [eax]
lea edx, [ebp + 0x3c]
push edx
push edi
push esi
push eax
call dword [ecx + 0x10]
cmp dword [ebp + 0x3c], esi
je 0x1002ecc1
xor esi, esi
cmp dword [0x100e2bec], esi
jne 0x1002ee44
call fcn.10002e3e
cmp byte [ebp + 0x51], 0
jge 0x1002ee54
cmp byte [ebp + 0x2f], 0
mov byte [ebp + 0x52], 1
jle 0x1002ee79
cmp byte [ebp + 0x2f], 0
mov byte [ebp + 0x52], 0
jle 0x1002ee79
mov eax, dword [ebp + 0x18]
mov ax, word [eax]
cmp ax, si
je 0x1002ee79
cmp ax, 0x2a
mov dword [ebp - 0x98], 0x70
jne 0x1002ee83
mov dword [ebp - 0x98], 2
mov edi, dword [ebp - 0x4c]
mov dword [ebp + 0x20], 7
mov eax, dword [ebp + 0x3c]
and dword [ebp - 0x34], 0
mov ecx, dword [eax]
lea edx, [ebp - 0x34]
push edx
push dword [ebp + 0x20]
push eax
call dword [ecx + 0x14]
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x1002eeef
mov ecx, dword [ebp + 0x3c]
mov edx, dword [ecx]
mov esi, dword [eax]
push eax
push ecx
call dword [edx + 0x50]
cmp byte [ebp + 0x52], 0
je 0x1002ef0e
cmp esi, dword [ebp - 0x28]
jne 0x1002ef7f
mov ecx, dword [ebp - 0x24]
mov eax, dword [ebp + 0x20]
cmp dword [ecx + eax*4], 0
je 0x1002eeef
mov dword [ebp + 0xc], eax
mov edi, ecx
or byte [ebp + 0x3b], 6
cmp byte [ebp + 0x4b], 0
mov byte [ebp + 0x7f], 0xff
je 0x1002eee6
or byte [ebp + 0x4b], 2
mov eax, dword [ebp + 0xc]
mov eax, dword [edi + eax*4]
mov dword [ebp + 0x54], eax
mov eax, dword [ebp + 0x3c]
test eax, eax
je 0x1002ecc1
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
and dword [ebp + 0x3c], 0
call fcn.10044ecd
jmp 0x1002ecc1
mov eax, dword [ebp + 0x3c]
or dword [ebp + 0x34], 0xffffffff
mov ecx, dword [eax]
lea edx, [ebp + 0x34]
push edx
push dword [ebp - 0x98]
push edi
push esi
push eax
call dword [ecx + 0x1c]
cmp dword [ebp + 0x34], 0
jle 0x1002ef70
push dword [ebp - 8]
mov eax, dword [edi]
push eax
call dword [sym.imp.KERNEL32.dll_lstrcmpW]
test eax, eax
jne 0x1002ef70
cmp byte [ebp + 0x51], al
jl 0x1002ef4e
movsx eax, byte [ebp + 0x51]
mov ecx, dword [ebp - 0x34]
cmp eax, dword [ecx + 0x10]
jne 0x1002ef70
mov al, byte [ebp + 0x34]
dec al
mov byte [ebp + 0x2c], al
jmp 0x1002ef70
mov eax, dword [ebp + 0x34]
mov eax, dword [edi + eax*4]
test eax, eax
je 0x1002ef70
push eax
call dword [0x100e2bec]
mov eax, dword [ebp + 0x34]
and dword [edi + eax*4], 0
dec dword [ebp + 0x34]
jns 0x1002ef58
cmp byte [ebp + 0x2c], 0
jge 0x1002eec3
inc dword [ebp + 0x20]
cmp dword [ebp + 0x20], 0x7fffffff
jl 0x1002ee8d
jmp 0x1002eeef
cmp byte [ebp + 0x2f], 0
mov dword [ebp - 0x14], 0x80004001
jne 0x1002ecce
jmp 0x1003065a
cmp byte [ebp + 0x7f], 1
jne 0x1002efb8
mov eax, dword [ebp]
mov ecx, dword [ebp - 0x38]
mov dword [ecx], eax
cmp byte [ebp + 0x2d], 0
jne 0x1002f504
cmp byte [ebp + 0x1c], 0
je 0x1002f504
mov ecx, dword [ebp - 0x88]
cmp dword [ecx + 4], 0
je 0x1002f504
cmp byte [ebp + 0x13], 0
je 0x1002eff3
mov eax, dword [ecx + 8]
test eax, eax
mov dword [ebp + 0x60], eax
je 0x1002eff3
mov dword [ebp - 0x3c], 3
cmp byte [ebp + 0x3b], 0
je 0x1002f003
and dword [ebx], 0
mov dword [ebp + 0x14], 1
cmp dword [ebp + 0x14], 0x64
mov al, byte [ebp + 0x67]
mov byte [ebp + 0x13], al
ja 0x1002f504
mov eax, dword [ebp + 0x14]
lea eax, [ebx + eax*4]
mov dword [ebp + 0x34], eax
mov eax, dword [ebp - 0x3c]
mov edi, dword [ebp + 0x34]
shl eax, 2
add ecx, eax
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp + 8]
lea eax, [eax + ecx - 4]
mov dword [ebp + 4], eax
mov eax, dword [ebp - 0x34]
mov eax, dword [eax]
add dword [ebp - 0x34], 4
add dword [ebp + 4], 4
test eax, eax
mov dword [ebp + 0x60], eax
je 0x1002f504
mov ecx, dword [ebp - 0x64]
test ecx, ecx
mov dword [edi], eax
mov eax, dword [ebp + 0x60]
mov si, word [eax]
mov byte [ebp + 0x52], 0
jne 0x1002f067
mov dl, byte [ebp + 0x13]
mov byte [ebp + 0x67], dl
jmp 0x1002f086
cmp word [ecx], 0
je 0x1002f083
mov ecx, dword [ebp - 0x64]
mov dl, byte [ecx]
add ecx, 2
cmp word [ecx], 0
mov byte [ebp + 0x67], dl
je 0x1002f086
mov dword [ebp - 0x64], ecx
jmp 0x1002f086
mov dl, byte [ebp + 0x67]
cmp dl, 0x23
je 0x1002f181
cmp dl, 0x2a
je 0x1002f181
cmp dl, 0x3c
je 0x1002f181
cmp dl, 0x3e
je 0x1002f181
cmp dl, 0x24
je 0x1002f2c4
cmp dl, 0x40
je 0x1002f2fb
cmp dl, 0x3d
je 0x1002f332
cmp dl, 0x7e
je 0x1002f2e9
test dl, dl
jne 0x1002f28a
cmp si, 0x23
je 0x1002f47d
cmp si, 0x3c
je 0x1002f345
cmp si, 0x3e
jne 0x1002f4eb
cmp word [eax], 0x3e
jne 0x1002f0ff
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x3c], 0xc
cmp word [eax], 0x3a
jne 0x1002f12d
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.10042554
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x1002f12d
add dword [ebp + 0x60], 2
lea ecx, [ebp + 0x20]
call fcn.10046123
mov ecx, dword [ebp + 0x70]
xor esi, esi
push esi
push 0x2c
lea eax, [ebp + 0x20]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.1003ac0c
mov ecx, dword [ebp + 0x70]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp + 0x20]
mov dword [ebp + 0x60], esi
call fcn.10010cdd
cmp eax, esi
je 0x1002f166
mov ecx, dword [eax + 4]
mov dword [ebp + 0x60], ecx
cmp eax, esi
mov ecx, dword [ebp + 0x60]
mov dword [edi], ecx
push 0x10
jne 0x1002f30f
push esi
push edi
call fcn.100b40f0
jmp 0x1002f318
cmp si, 0x3c
je 0x1002f28a
cmp si, 0x23
je 0x1002f28a
cmp si, 0x2a
je 0x1002f28a
cmp si, 0x24
je 0x1002f28a
cmp si, 0x40
je 0x1002f28a
cmp si, 0x3d
je 0x1002f28a
cmp si, 0x7e
je 0x1002f28a
cmp dl, 0x23
je 0x1002f47d
cmp dl, 0x3c
je 0x1002f345
cmp dl, 0x3e
movsx si, dl
je 0x1002f0f4
cmp word [eax], 0x2a
jne 0x1002f1f1
inc eax
inc eax
mov dword [ebp + 0x60], eax
xor ecx, ecx
cmp si, 0x2a
setne cl
xor edi, edi
dec ecx
and ecx, 0x3fff
add ecx, 0xc
mov dword [ebp + 0x3c], ecx
cmp word [eax], 0x3a
jne 0x1002f231
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.10042554
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x1002f231
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov cx, word [eax]
cmp cx, 0x7e
jne 0x1002f3c6
inc eax
inc eax
mov edi, 0xfde9
mov dword [ebp + 0x60], eax
lea ecx, [ebp - 0x24]
call fcn.10046123
mov ecx, dword [ebp + 0x70]
xor esi, esi
push esi
push 0x2c
lea eax, [ebp - 0x24]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.1003ac0c
mov ecx, dword [ebp + 0x70]
push esi
push 0xffffffffffffffff
push esi
push dword [ebp - 0x24]
mov dword [ebp + 0x60], esi
call fcn.10010cdd
cmp eax, esi
je 0x1002f3d7
mov eax, dword [eax + 4]
mov dword [ebp + 0x60], eax
jmp 0x1002f3da
inc eax
movzx ecx, si
inc eax
sub ecx, 0x23
mov dword [ebp + 0x60], eax
mov byte [ebp + 0x52], 1
je 0x1002f47d
sub ecx, 7
je 0x1002f1e6
sub ecx, 0x12
je 0x1002f345
dec ecx
je 0x1002f332
dec ecx
je 0x1002f0f4
dec ecx
dec ecx
je 0x1002f2fb
sub ecx, 0x3e
je 0x1002f2e9
cmp byte [ebp + 0x7f], 1
mov dword [edi], eax
jne 0x1002f4eb
mov eax, dword [ebp]
mov word [eax], 8
mov ecx, dword [ebp + 0x60]
mov dword [eax + 8], ecx
add eax, 0x10
mov dword [ebp], eax
jmp 0x1002f4eb
test eax, eax
mov edi, 0xfde9
je 0x1002f429
jmp 0x1002f3f0
xor edi, edi
test eax, eax
jne 0x1002f3f0
mov eax, dword [ebp + 0x34]
and dword [eax], edi
jmp 0x1002f42e
push dword [eax + 4]
push edi
call fcn.100144ff
add dword [ebp + 0x14], 3
add edi, 0xc
add esp, 0xc
lea ecx, [ebp + 0x20]
mov dword [ebp + 0x34], edi
call fcn.1003f96c
jmp 0x1002f44e
movsx eax, byte [ebp + 0x52]
mov ecx, dword [ebp + 4]
mov ecx, dword [ecx]
lea eax, [ecx + eax*2]
mov dword [edi], eax
jmp 0x1002f4eb
cmp word [eax], 0x3c
jne 0x1002f350
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x3c], 0x14
cmp word [eax], 0x3a
jne 0x1002f37e
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.10042554
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x1002f37e
add dword [ebp + 0x60], 2
and dword [ebp - 0x30], 0
and dword [ebp - 0x2c], 0
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.100539de
cmp byte [ebp + 0x7f], 1
mov eax, dword [ebp - 0x30]
pop ecx
pop ecx
mov ecx, dword [ebp - 0x2c]
mov dword [edi], eax
jne 0x1002f3b9
mov edx, dword [ebp]
mov si, word [ebp + 0x3c]
mov word [edx], si
mov dword [edx + 8], eax
mov dword [edx + 0xc], ecx
add edx, 0x10
mov dword [ebp], edx
inc dword [ebp + 0x14]
add edi, 4
mov dword [edi], ecx
jmp 0x1002f4eb
cmp cx, 0x40
jne 0x1002f248
xor edi, edi
jmp 0x1002f248
mov eax, dword [ebp + 0x60]
cmp di, si
je 0x1002f43e
cmp eax, esi
je 0x1002f436
cmp word [eax], si
je 0x1002f43e
lea ecx, [ebp - 0x24]
call fcn.1003f96c
push 4
call fcn.100b4338
test eax, eax
pop ecx
je 0x1002f403
and dword [eax], 0
mov esi, eax
jmp 0x1002f405
xor esi, esi
movzx eax, di
push eax
push 0xffffffffffffffff
push dword [ebp + 0x60]
mov ecx, esi
call fcn.100460ab
mov eax, dword [esi]
push esi
lea ecx, [ebp - 0xa4]
mov dword [ebp + 0x60], eax
call fcn.1000f82f
mov eax, dword [ebp + 0x60]
mov ecx, dword [ebp + 0x34]
mov dword [ecx], eax
mov edi, dword [ebp + 0x34]
jmp 0x1002f4eb
mov eax, 0x100c6a64
mov dword [ebp + 0x60], eax
mov ecx, dword [ebp + 0x34]
mov dword [ecx], eax
lea ecx, [ebp - 0x24]
call fcn.1003f96c
mov edi, dword [ebp + 0x34]
cmp byte [ebp + 0x7f], 1
jne 0x1002f4eb
mov eax, dword [ebp + 0x3c]
cmp eax, 0xc
mov ecx, dword [ebp]
mov word [ecx], ax
jne 0x1002f471
mov esi, dword [ebp + 0x60]
mov edi, ecx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
jmp 0x1002f477
mov eax, dword [ebp + 0x60]
mov dword [ecx + 8], eax
add dword [ebp], 0x10
jmp 0x1002f42e
cmp word [eax], 0x23
jne 0x1002f488
inc eax
inc eax
mov dword [ebp + 0x60], eax
mov dword [ebp + 0x3c], 3
cmp word [eax], 0x3a
jne 0x1002f4b6
inc eax
inc eax
mov dword [ebp + 0x60], eax
lea eax, [ebp + 0x3c]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.10042554
mov eax, dword [ebp + 0x60]
cmp word [eax], 0x3a
pop ecx
pop ecx
jne 0x1002f4b6
add dword [ebp + 0x60], 2
and dword [ebp - 0x30], 0
and dword [ebp - 0x2c], 0
lea eax, [ebp - 0x30]
push eax
lea eax, [ebp + 0x60]
push eax
call fcn.100539de
cmp byte [ebp + 0x7f], 1
mov eax, dword [ebp - 0x30]
pop ecx
pop ecx
mov dword [edi], eax
jne 0x1002f4eb
mov ecx, dword [ebp]
mov dx, word [ebp + 0x3c]
mov word [ecx], dx
mov dword [ecx + 8], eax
add ecx, 0x10
mov dword [ebp], ecx
inc dword [ebp + 0x14]
add edi, 4
cmp byte [ebp - 0xe], 0
mov dword [ebp + 0x34], edi
jne 0x1002f504
cmp dword [ebp + 0x14], 0x64
jbe 0x1002f034
cmp byte [ebp + 0x53], 0
je 0x1002f518
mov ecx, dword [ebp + 0x74]
mov eax, dword [ebp + 0x4c]
mov dword [ebp + 0x74], eax
mov dword [ebp + 0x4c], ecx
jmp 0x1002f51b
mov eax, dword [ebp + 0x74]
and dword [ebp + 8], 0
test eax, eax
mov byte [ebp + 0x49], 0
je 0x1002f53e
cmp word [eax], 0x22
jne 0x1002f534
mov dword [ebp + 8], 1
push eax
call fcn.100132bf
pop ecx
mov dword [ebp + 0x74], eax
push 0x2a
mov ecx, eax
pop esi
mov dword [ebp + 0x24], ecx
cmp word [eax], si
mov byte [ebp + 0x51], 0
jne 0x1002f561
lea eax, [ecx + 2]
cmp word [eax], si
jne 0x1002f561
mov ecx, eax
mov dword [ebp + 0x24], ecx
cmp word [ecx], si
je 0x1002f54f
mov di, word [ecx]
cmp di, si
jne 0x1002f5e6
xor eax, eax
mov ax, word [ecx + 2]
push eax
call fcn.10045b88
add esp, 4
test al, al
jne 0x1002f580
or byte [ebp + 0x50], 2
cmp di, si
jne 0x1002f5e6
xor eax, eax
lea edx, [ecx + 2]
mov ax, word [edx]
push eax
call fcn.10045b88
add esp, 4
test al, al
je 0x1002f5e6
cmp ecx, dword [ebp + 0x74]
mov dword [ebp + 0x24], edx
seta al
and dword [ebp - 0x8c], 0
and dword [ebp - 0x88], 0
inc al
mov byte [ebp + 0x51], al
lea eax, [ebp - 0x8c]
push eax
lea eax, [ebp + 0x24]
push eax
call fcn.1005381f
test eax, eax
pop ecx
pop ecx
jle 0x1002e833
mov eax, dword [ebp - 0x8c]
test eax, eax
je 0x1002e833
mov ecx, dword [ebp + 0x24]
mov dword [ebp + 0x30], eax
jmp 0x1002f5f0
test di, di
jne 0x1002f5f6
xor ecx, ecx
mov dword [ebp + 0x24], ecx
cmp byte [ebp + 0x51], 0
jne 0x1002f60d
test ecx, ecx
je 0x1002f60d
cmp word [ecx], 0x2e
jne 0x1002f60d
cmp word [ecx + 2], 0
jne 0x1002f60d
mov byte [ebp + 0x52], 1
jmp 0x1002f617
cmp byte [ebp + 0x51], 0
mov byte [ebp + 0x52], 0
jne 0x1002f68a
cmp byte [ebp + 0x1f], 0
je 0x1002f68a
cmp byte [ebp + 0x50], 0
jne 0x1002f68a
cmp byte [ebp + 0x52], 0
je 0x1002f630
mov eax, dword [0x100e2c88]
jmp 0x1002f637
push ecx
call dword [sym.imp.KERNEL32.dll_GetModuleHandleW]
test eax, eax
jne 0x1002f65a
push dword [ebp + 0x74]
lea eax, [ebp + 0x47]
push eax
call fcn.100121a4
pop ecx
pop ecx
push dword [ebp + 0x74]
mov byte [ebp - 0xd], 1
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
je 0x1002f660
and dword [ebp + 0x5c], 0
jmp 0x1002f678
cmp byte [ebp + 0x2b], 0
je 0x1002f66f
and dword [ebp + 0x5c], 0
jmp 0x1003065a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x5c], eax
cmp byte [ebp - 0xd], 1
je 0x1003065a
mov esi, dword [ebp + 0x5c]
jmp 0x10030811
push dword [ebp + 0x74]
lea eax, [ebp + 0x47]
push eax
call fcn.100121a4
cmp dword [ebp + 0x54], 0
pop ecx
pop ecx
jne 0x1002fbd3
cmp byte [ebp + 0x50], 0
mov eax, dword [0x100e2c88]
mov esi, dword [ebp + 0x24]
jne 0x1002f6de
cmp dword [ebp + 0x30], 0
jne 0x1002f6de
cmp byte [ebp + 0x5a], 0
jne 0x1002f6de
test esi, esi
je 0x1002f6da
cmp word [esi], 0x2e
jne 0x1002f931
cmp word [esi + 2], 0
jne 0x1002f931
mov dword [ebp + 0x30], eax
jmp 0x1002f6e6
mov byte [ebp + 0x5a], 2
test esi, esi
je 0x1002fa97
cmp dword [ebp + 0x30], 0
jne 0x1002faac
cmp byte [ebp + 0x50], 0
je 0x1002f931
xor edx, edx
xor ecx, ecx
cmp dword [ebp + 8], edx
mov dword [ebp - 0x80], edx
mov dword [ebp - 0x7c], edx
mov dword [ebp - 0x78], edx
mov cx, word [esi]
mov edi, esi
mov dword [ebp - 0x4c], ecx
jne 0x1002f72d
cmp cx, 0x23
jne 0x1002f72d
xor eax, eax
mov ax, word [esi + 2]
push eax
call fcn.10045b88
add esp, 4
test al, al
jne 0x1002f778
cmp cx, 0x2a
jne 0x1002f73a
inc esi
inc esi
mov dword [ebp + 0x24], esi
mov edi, esi
cmp word [esi], 0x22
mov dword [ebp - 0x3c], edx
jne 0x1002f76b
inc esi
inc esi
push 0x22
lea eax, [ebp + 8]
mov dword [ebp + 0x24], esi
mov dword [ebp + 8], esi
call fcn.100a1095
mov edi, dword [ebp + 8]
cmp word [edi], 0
pop ecx
je 0x1002f76b
and word [edi], 0
mov esi, dword [ebp + 0x24]
mov dword [ebp - 0x3c], edi
inc edi
inc edi
cmp word [ebp - 0x4c], 0x2a
jne 0x1002f82e
xor edx, edx
mov eax, dword [0x100e2fc0]
mov dword [ebp + 4], edx
jmp 0x1002f78a
cmp cx, 0x23
je 0x1002f792
inc edi
inc edi
mov cx, word [edi]
cmp cx, dx
jne 0x1002f782
cmp word [edi], dx
mov esi, edi
je 0x1002f7b6
mov cx, word [esi]
cmp cx, 0x7c
je 0x1002f7b1
cmp cx, 0x3a
je 0x1002f7b1
inc esi
inc esi
cmp word [esi], dx
jne 0x1002f799
jmp 0x1002f7b6
mov word [esi], dx
inc esi
inc esi
cmp word [esi], dx
jne 0x1002f7c0
mov esi, 0x100c7cf8
cmp word [edi], 0x23
jne 0x1002f83a
mov ecx, dword [ebp - 0x3c]
cmp ecx, edx
mov word [edi], dx
je 0x1002f7d3
mov word [ecx], dx
mov ecx, dword [ebp + 0x24]
cmp word [ecx], 0x2e
jne 0x1002f7ef
lea edx, [ecx + 2]
cmp word [edx], 0
jne 0x1002f7ef
mov eax, dword [0x100e2c88]
mov ecx, edx
mov dword [ebp + 0x24], ecx
cmp word [ecx], 0
je 0x1002f803
push 2
push 0
push ecx
call dword [sym.imp.KERNEL32.dll_LoadLibraryExW]
mov dword [ebp + 4], eax
test eax, eax
mov word [edi], 0x23
je 0x1002f81d
push 0
lea ecx, [ebp - 0x80]
push ecx
push esi
push edi
push eax
call fcn.100155e3
add esp, 0x14
cmp dword [ebp + 4], 0
je 0x1002f83a
push dword [ebp + 4]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
jmp 0x1002f83a
lea eax, [ebp - 0x80]
push eax
push esi
call fcn.10014f8e
pop ecx
pop ecx
mov edi, dword [ebp - 0x80]
test edi, edi
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x4c], eax
jne 0x1002f86a
xor eax, eax
cmp byte [ebp + 0x53], al
lea ecx, [ebp - 0x80]
sete al
mov byte [ebp + 0x48], 1
mov dword [ebp - 0x14], 1
mov dword [ebp + 0x5c], eax
call fcn.1003f96c
jmp 0x1002fa9d
lea eax, [ebp - 0x70]
push 0x28
push eax
call fcn.10010b62
mov esi, eax
test esi, esi
pop ecx
pop ecx
je 0x1002f884
mov ecx, esi
call fcn.10014af6
push dword [ebp - 0x4c]
add esi, 4
push edi
mov ecx, esi
mov dword [ebp - 4], esi
call fcn.1001cd6b
test eax, eax
je 0x1002f913
cmp byte [ebp + 0x53], 0
je 0x1002f8ee
mov ecx, dword [ebp + 0x4c]
xor edi, edi
xor eax, eax
cmp ecx, edi
je 0x1002f8af
cmp word [ecx], di
jne 0x1002f8b7
mov ecx, dword [ebp + 0x18]
cmp word [ecx], di
je 0x1002f8b9
mov eax, ecx
cmp eax, edi
mov dword [ebp + 0x5c], esi
mov byte [ebp + 0x4a], 1
je 0x1002f8e1
mov ecx, dword [ebp - 0x80]
mov dword [esi + 8], ecx
lea ecx, [ebp - 0x70]
push ecx
push eax
push esi
push dword [ebp + 0x70]
mov dword [ebp - 0x80], edi
call fcn.1002cf92
add esp, 0x10
mov dword [ebp - 4], edi
lea ecx, [ebp - 0x80]
call fcn.1003f96c
jmp 0x10030686
push dword [ebp + 0x40]
lea ecx, [ebp - 0x4c]
call fcn.10002db7
push dword [eax]
mov ecx, esi
call fcn.10010539
lea ecx, [ebp - 0x4c]
mov dword [ebp + 0x54], eax
call fcn.1003f96c
cmp dword [ebp + 0x54], 0
jne 0x1002f929
xor eax, eax
cmp byte [ebp + 0x53], al
mov byte [ebp + 0x48], 1
sete al
mov dword [ebp - 0x14], 1
mov dword [ebp + 0x5c], eax
lea ecx, [ebp - 0x80]
jmp 0x1002fbce
xor edi, edi
mov di, word [esi]
and edi, 0xffdf
je 0x1002f946
mov edi, dword [esi]
and edi, 0xffdfffdf
cmp byte [ebp + 0x52], 0
jne 0x1002fa87
cmp byte [ebp + 0x53], 0
jne 0x1002fa7c
cmp edi, 0x45004b
jne 0x1002f9a7
push esi
push dword [0x100e1310]
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x1002f99d
push 8
push dword [ebp + 0x24]
push dword [0x100e1310]
call fcn.10040df5
add esp, 0xc
test al, al
je 0x1002fa2e
mov esi, dword [ebp + 0x24]
cmp word [esi + 0x10], 0
jne 0x1002fa31
mov eax, dword [0x100e3008]
jmp 0x1002fa87
cmp edi, 0x530055
jne 0x1002f9ec
push esi
push dword [0x100e130c]
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x1002f9e2
push 6
push dword [ebp + 0x24]
push dword [0x100e130c]
call fcn.10040df5
add esp, 0xc
test al, al
je 0x1002fa2e
mov esi, dword [ebp + 0x24]
cmp word [esi + 0xc], 0
jne 0x1002fa31
mov eax, dword [0x100e3004]
jmp 0x1002fa87
cmp edi, 0x440047
jne 0x1002fa31
push esi
push dword [0x100e1308]
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x1002fa27
push 5
push dword [ebp + 0x24]
push dword [0x100e1308]
call fcn.10040df5
add esp, 0xc
test al, al
je 0x1002fa2e
mov esi, dword [ebp + 0x24]
cmp word [esi + 0xa], 0
jne 0x1002fa31
mov eax, dword [0x100e300c]
jmp 0x1002fa87
mov esi, dword [ebp + 0x24]
cmp dword [0x100e3010], 0
je 0x1002fa7c
cmp edi, 0x4c004f
jne 0x1002fa7c
push esi
push dword [0x100e1304]
call fcn.10040e34
test al, al
pop ecx
pop ecx
jne 0x1002fa75
push 5
push dword [ebp + 0x24]
push dword [0x100e1304]
call fcn.10040df5
mov esi, dword [ebp + 0x24]
add esp, 0xc
test al, al
je 0x1002fa7c
cmp word [esi + 0xa], 0
jne 0x1002fa7c
mov eax, dword [0x100e3010]
jmp 0x1002fa87
push esi
mov byte [ebp + 0x49], 1
call dword [sym.imp.KERNEL32.dll_LoadLibraryW]
test eax, eax
mov dword [ebp + 0x30], eax
jne 0x1002faac
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x5c], eax
cmp dword [ebp + 0x30], 0
jne 0x1002faac
cmp byte [ebp + 0x3a], 0
jne 0x1002fc7e
jmp 0x1003065a
push dword [ebp + 0x40]
lea ecx, [ebp + 0x20]
call fcn.10002db7
test byte [ebp + 0x51], 2
push dword [ebp + 0x20]
je 0x1002faca
mov ecx, dword [ebp + 0x30]
call fcn.10010539
jmp 0x1002fad3
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [ebp + 0x54], eax
jne 0x1002fbcb
cmp byte [ebp + 0x2d], al
je 0x1002fbc2
cmp byte [ebp + 0x67], al
jne 0x1002fbc2
mov esi, dword [ebp + 0x40]
push esi
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov dword [ebp + 8], eax
lea edi, [eax + eax]
xor eax, eax
mov ax, word [edi + esi - 2]
and eax, 0xffdf
cmp ax, 0x41
je 0x1002fbc2
cmp ax, 0x57
je 0x1002fbc2
push 4
call fcn.100b4338
mov esi, eax
test esi, esi
pop ecx
je 0x1002fb3e
mov eax, dword [ebp + 8]
add eax, 2
push eax
mov ecx, esi
call fcn.10046141
jmp 0x1002fb40
xor esi, esi
push esi
lea ecx, [ebp - 0xa4]
call fcn.1000f82f
push dword [ebp + 8]
push dword [ebp + 0x40]
push dword [esi]
call fcn.10005b3b
mov esi, dword [esi]
mov dword [ebp + 0x40], esi
add esi, edi
and word [esi + 2], 0
add esp, 0xc
cmp byte [ebp + 0x51], 2
mov word [esi], 0x57
push dword [ebp + 0x20]
jne 0x1002fb80
mov ecx, dword [ebp + 0x30]
call fcn.10010539
jmp 0x1002fb89
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
test eax, eax
mov dword [ebp + 0x54], eax
jne 0x1002fbcb
push dword [ebp + 0x40]
lea ecx, [ebp - 0x4c]
mov word [esi], 0x41
call fcn.10002db7
push dword [eax]
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_GetProcAddress]
lea ecx, [ebp - 0x4c]
mov dword [ebp + 0x54], eax
call fcn.1003f96c
cmp dword [ebp + 0x54], 0
je 0x1002fbc2
mov byte [ebp + 0x67], 0x40
jmp 0x1002fbcb
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp + 0x5c], eax
lea ecx, [ebp + 0x20]
call fcn.1003f96c
and dword [ebp - 0x6c], 0
cmp byte [ebp + 0x4b], 0
je 0x1002fbef
mov eax, dword [ebp - 0x84]
mov ecx, dword [ebp + 0x14]
add eax, 8
inc dword [ebp + 0x14]
mov dword [ebx + ecx*4], eax
cmp byte [ebp + 0x3b], 0
je 0x1002fbfa
mov eax, dword [ebp - 0x20]
mov dword [ebx], eax
mov eax, dword [ebp + 0xc]
test eax, eax
jl 0x1002fc59
cmp byte [ebp + 0x7f], 1
mov ecx, dword [ebp - 0x20]
mov ecx, dword [ecx]
mov eax, dword [ecx + eax*4]
mov dword [ebp + 0x54], eax
jne 0x1002fc59
mov ecx, dword [ebp - 0x38]
mov edx, dword [ecx]
mov eax, dword [ebp]
sub eax, edx
sar eax, 4
mov dword [ecx + 8], eax
lea ecx, [eax - 1]
shr eax, 1
test eax, eax
jle 0x1002fc59
shl ecx, 4
add ecx, edx
mov esi, edx
lea edi, [ebp - 0xb4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov esi, ecx
mov edi, edx
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov edi, ecx
lea esi, [ebp - 0xb4]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
sub ecx, 0x10
add edx, 0x10
dec eax
movsd dword es:[edi], dword [esi]
jne 0x1002fc30
cmp byte [ebp + 0x3a], 0
je 0x1002fcc5
cmp byte [ebp + 0x49], 1
jne 0x1002fc7e
cmp byte [ebp + 0x5a], 0
jg 0x1002fc7e
cmp dword [ebp + 0x30], 0
je 0x1002fc7e
push dword [ebp + 0x30]
mov byte [ebp + 0x49], 2
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp + 0x2b], 0
je 0x1002fc8c
mov esi, dword [ebp + 0x54]
jmp 0x10030811
cmp dword [ebp + 0x54], 0
je 0x1002fcaa
push dword [ebp + 0x54]
lea eax, [ebp - 0x12c]
push str.0x_p
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
mov ecx, dword [ebp + 0x70]
lea eax, [ebp - 0x12c]
push eax
push dword [ebp + 0x18]
call fcn.100457c2
cmp byte [ebp + 0x49], 2
jmp 0x1002f67c
cmp dword [ebp + 0x54], 0
mov byte [ebp + 0x4b], 0
je case.default.0x1003025c
test byte [ebp - 0xc], 7
je 0x1002fd2f
call fcn.10044ecd
xor edi, edi
cmp dword [ebp - 0xc], edi
je 0x1002fd2f
cmp dword [0x100e34d4], edi
je 0x1002fd2f
cmp dword [0x100e34d8], edi
je 0x1002fd2f
push 0x100e3d7c
call dword [sym.imp.KERNEL32.dll_EnterCriticalSection]
mov esi, dword [ebp + 0x70]
mov al, byte [esi + 0xe]
test al, 2
jne 0x1002fd24
test al, 1
jne 0x1002fd12
mov byte [ebp + 0x4b], 1
or byte [ebp + 0x4b], 2
or al, 3
push edi
mov byte [esi + 0xe], al
call dword [0x100e34d4]
jmp 0x1002fd2f
push 0x100e3d7c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp + 0x48], 0
je 0x1002fd3d
push 0
call dword [sym.imp.KERNEL32.dll_SetLastError]
cmp byte [ebp + 0x7f], 1
jne 0x1002fd79
mov esi, dword [ebp - 0x20]
mov edi, dword [esi]
lea eax, [ebp - 0x6c]
push eax
movsx ax, byte [ebp + 0x1d]
push 0
push dword [ebp - 0x84]
mov byte [ebp + 0x4a], 1
push dword [ebp - 0x38]
push eax
call dword [sym.imp.KERNEL32.dll_GetUserDefaultLCID]
push eax
push 0x100d4dec
push dword [ebp - 0x28]
push esi
call dword [edi + 0x18]
jmp 0x10030562
cmp byte [ebp + 0x2d], 0
je 0x1002fe2e
xor eax, eax
cmp byte [ebp + 0x67], 0x40
mov dword [ebp - 0x38], eax
mov byte [ebp + 0x4a], 1
mov word [ebp + 0x7a], ax
jne 0x1002fdb0
cmp dword [ebp + 0x4c], eax
je 0x1002fdb6
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [ebp + 0x4c]
lea ecx, [ebp - 0x38]
call fcn.100460ab
mov eax, dword [ebp - 0x38]
mov dword [ebp + 0x4c], eax
cmp dword [ebp + 0x4c], 0
jne 0x1002fdbc
lea eax, [ebp + 0x7a]
mov dword [ebp + 0x4c], eax
mov edi, dword [ebp + 0x70]
mov ebx, dword [0x100e2fc0]
push 0
push edi
call fcn.10012b49
mov esi, dword [ebp + 0x40]
test esi, esi
pop ecx
pop ecx
mov dword [ebp + 8], 5
je 0x1002fe0a
push 0x12
push esi
push str.InstallHinfSection
call fcn.10040df5
add esp, 0xc
test al, al
je 0x1002fe0a
xor eax, eax
cmp word [esi + 0x24], ax
je 0x1002fe05
cmp word [esi + 0x26], ax
mov word [esi + 0x24], 1
jne 0x1002fe0a
mov dword [ebp + 8], eax
xor ebx, ebx
push dword [ebp + 8]
push dword [ebp + 0x4c]
push ebx
push dword [edi + 0x28]
call fcn.1003fffe
pop ecx
push eax
call dword [ebp + 0x54]
lea ecx, [ebp - 0x38]
mov dword [ebp + 0x5c], eax
call fcn.1003f96c
jmp case.default.0x1003025c
cmp dword [ebp + 0x78], 1
mov eax, dword [ebp + 0x14]
jne 0x1003024f
cmp eax, 0x64
ja 0x1002fe44
mov byte [ebp + 0x4a], 0x20
cmp eax, 7
ja case.default.0x1002fe4d
jmp dword [eax*4 + 0x100308d4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x1002fe64
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
pop ecx
pop ecx
jmp 0x10030562
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0xc
jmp 0x10030562
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x10
jmp 0x10030562
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x14
jmp 0x10030562
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x18
jmp 0x10030562
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x1c
jmp 0x10030562
cmp eax, 0x14
ja 0x1002ff32
push dword [ebx + 0x4c]
push dword [ebx + 0x48]
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x50
jmp 0x10030562
cmp eax, 0x1e
ja 0x1002ff9b
push dword [ebx + 0x74]
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push dword [ebx + 0x68]
push dword [ebx + 0x64]
push dword [ebx + 0x60]
push dword [ebx + 0x5c]
push dword [ebx + 0x58]
push dword [ebx + 0x54]
push dword [ebx + 0x50]
push dword [ebx + 0x4c]
push dword [ebx + 0x48]
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x78
jmp 0x10030562
cmp eax, 0x28
ja 0x10030041
push dword [ebx + 0x9c]
push dword [ebx + 0x98]
push dword [ebx + 0x94]
push dword [ebx + 0x90]
push dword [ebx + 0x8c]
push dword [ebx + 0x88]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
push dword [ebx + 0x7c]
push dword [ebx + 0x78]
push dword [ebx + 0x74]
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push dword [ebx + 0x68]
push dword [ebx + 0x64]
push dword [ebx + 0x60]
push dword [ebx + 0x5c]
push dword [ebx + 0x58]
push dword [ebx + 0x54]
push dword [ebx + 0x50]
push dword [ebx + 0x4c]
push dword [ebx + 0x48]
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0xa0
jmp 0x10030562
cmp eax, 0x64
ja case.default.0x1003025c
push dword [ebx + 0x18c]
push dword [ebx + 0x188]
push dword [ebx + 0x184]
push dword [ebx + 0x180]
push dword [ebx + 0x17c]
push dword [ebx + 0x178]
push dword [ebx + 0x174]
push dword [ebx + 0x170]
push dword [ebx + 0x16c]
push dword [ebx + 0x168]
push dword [ebx + 0x164]
push dword [ebx + 0x160]
push dword [ebx + 0x15c]
push dword [ebx + 0x158]
push dword [ebx + 0x154]
push dword [ebx + 0x150]
push dword [ebx + 0x14c]
push dword [ebx + 0x148]
push dword [ebx + 0x144]
push dword [ebx + 0x140]
push dword [ebx + 0x13c]
push dword [ebx + 0x138]
push dword [ebx + 0x134]
push dword [ebx + 0x130]
push dword [ebx + 0x12c]
push dword [ebx + 0x128]
push dword [ebx + 0x124]
push dword [ebx + 0x120]
push dword [ebx + 0x11c]
push dword [ebx + 0x118]
push dword [ebx + 0x114]
push dword [ebx + 0x110]
push dword [ebx + 0x10c]
push dword [ebx + 0x108]
push dword [ebx + 0x104]
push dword [ebx + 0x100]
push dword [ebx + 0xfc]
push dword [ebx + 0xf8]
push dword [ebx + 0xf4]
push dword [ebx + 0xf0]
push dword [ebx + 0xec]
push dword [ebx + 0xe8]
push dword [ebx + 0xe4]
push dword [ebx + 0xe0]
push dword [ebx + 0xdc]
push dword [ebx + 0xd8]
push dword [ebx + 0xd4]
push dword [ebx + 0xd0]
push dword [ebx + 0xcc]
push dword [ebx + 0xc8]
push dword [ebx + 0xc4]
push dword [ebx + 0xc0]
push dword [ebx + 0xbc]
push dword [ebx + 0xb8]
push dword [ebx + 0xb4]
push dword [ebx + 0xb0]
push dword [ebx + 0xac]
push dword [ebx + 0xa8]
push dword [ebx + 0xa4]
push dword [ebx + 0xa0]
push dword [ebx + 0x9c]
push dword [ebx + 0x98]
push dword [ebx + 0x94]
push dword [ebx + 0x90]
push dword [ebx + 0x8c]
push dword [ebx + 0x88]
push dword [ebx + 0x84]
push dword [ebx + 0x80]
push dword [ebx + 0x7c]
push dword [ebx + 0x78]
push dword [ebx + 0x74]
push dword [ebx + 0x70]
push dword [ebx + 0x6c]
push dword [ebx + 0x68]
push dword [ebx + 0x64]
push dword [ebx + 0x60]
push dword [ebx + 0x5c]
push dword [ebx + 0x58]
push dword [ebx + 0x54]
push dword [ebx + 0x50]
push dword [ebx + 0x4c]
push dword [ebx + 0x48]
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
add esp, 0x190
jmp 0x10030562
cmp eax, 0x14
ja case.default.0x1003025c
mov byte [ebp + 0x4a], 0x20
jmp dword [eax*4 + 0x100308f4]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x48]
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
jmp 0x10030562
push dword [ebx + 0x4c]
push dword [ebx + 0x48]
push dword [ebx + 0x44]
push dword [ebx + 0x40]
push dword [ebx + 0x3c]
push dword [ebx + 0x38]
push dword [ebx + 0x34]
push dword [ebx + 0x30]
push dword [ebx + 0x2c]
push dword [ebx + 0x28]
push dword [ebx + 0x24]
push dword [ebx + 0x20]
push dword [ebx + 0x1c]
push dword [ebx + 0x18]
push dword [ebx + 0x14]
push dword [ebx + 0x10]
push dword [ebx + 0xc]
push dword [ebx + 8]
push dword [ebx + 4]
push dword [ebx]
call dword [ebp + 0x54]
mov dword [ebp + 0x5c], eax
cmp dword [ebp - 0x1c], 0
je 0x100305da
push dword [ebp - 0x1c]
lea ecx, [ebp + 0x78]
call fcn.100501eb
mov ecx, dword [ebp + 0x70]
push 0
lea eax, [ebp + 0x78]
push eax
call fcn.10002f54
mov esi, dword [ebp + 0x78]
lea ecx, [ebp - 0x1c]
call fcn.10046123
test byte [ebp + 0x4a], 0x20
je 0x100305b8
cmp dword [ebp + 0x5c], 0
je 0x100305b8
cmp word [esi], 0x7e
jne 0x100305a8
mov eax, 0xfde9
jmp 0x100305aa
xor eax, eax
push eax
push 0xffffffffffffffff
push dword [ebp + 0x5c]
lea ecx, [ebp - 0x1c]
call fcn.100461de
mov eax, dword [ebp + 0x78]
push dword [ebp - 0x1c]
mov ecx, dword [ebp + 0x70]
add eax, 2
push eax
call fcn.100457c2
lea ecx, [ebp - 0x1c]
call fcn.1003f96c
lea ecx, [ebp + 0x78]
call fcn.1003f96c
cmp byte [ebp + 0x7f], 0
mov eax, dword [ebp + 0x5c]
mov dword [ebp - 0x14], eax
je 0x100305fd
cmp dword [ebp - 0x44], 0
je 0x100305fd
push dword [ebp - 0x44]
push dword [ebp - 0x6c]
push dword [ebp + 0x70]
call fcn.1004884d
add esp, 0xc
cmp byte [ebp + 0x48], 0
je 0x1003061d
cmp byte [ebp + 0x48], 2
jne 0x10030614
push dword [ebp + 0x5c]
call fcn.1003a28f
pop ecx
jmp 0x1003061a
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov dword [ebp - 0x14], eax
cmp byte [ebp + 0x49], 0
jle 0x10030638
cmp byte [ebp + 0x5a], 0
jg 0x10030638
cmp dword [ebp + 0x30], 0
je 0x10030638
push dword [ebp + 0x30]
call dword [sym.imp.KERNEL32.dll_FreeLibrary]
cmp byte [ebp + 0x4b], 0
je 0x1003065a
call dword [0x100e34d8]
mov al, byte [ebp + 0x4b]
mov ecx, dword [ebp + 0x70]
not al
and byte [ecx + 0xe], al
push 0x100e3d7c
call dword [sym.imp.KERNEL32.dll_LeaveCriticalSection]
cmp byte [ebp + 0x46], 0
jg 0x10030669
push dword [ebp - 0x60]
call fcn.10012162
pop ecx
mov eax, dword [ebp - 0x58]
or eax, dword [ebp - 0x54]
je 0x10030677
cmp byte [ebp + 0x46], 0
jg 0x1003067c
call fcn.10014ff4
cmp byte [ebp + 0x3a], 0
jne 0x1002f682
xor esi, esi
mov eax, dword [ebp + 0x18]
mov ax, word [eax]
cmp ax, si
je 0x10030712
cmp ax, 0x2a
je 0x10030712
cmp byte [ebp + 0x4a], 0
je 0x10030712
cmp byte [ebp + 0x1e], 0
mov eax, dword [0x100cc458]
mov esi, str.0x_X
lea edi, [ebp - 0xb0]
movsd dword es:[edi], dword [esi]
movsd dword es:[edi], dword [esi]
mov dword [ebp - 0x50], eax
mov eax, dword [0x100cc45c]
mov dword [ebp - 0x4c], eax
movsd dword es:[edi], dword [esi]
lea eax, [ebp - 0xb0]
jne 0x100306cc
lea eax, [ebp - 0x50]
cmp byte [ebp + 0x53], 0
je 0x100306e5
cmp byte [ebp + 0x50], 0
je 0x100306e5
cmp dword [ebp + 0x5c], 0
jne 0x100306f4
mov eax, 0x100c6a64
jmp 0x100306f4
cmp byte [ebp + 0x5b], 0
je 0x100306f2
mov word [eax], 0x3c
jmp 0x100306f4
inc eax
inc eax
push dword [ebp + 0x5c]
push eax
lea eax, [ebp - 0x12c]
push eax
call dword [sym.imp.USER32.dll_wsprintfW]
add esp, 0xc
cmp byte [ebp + 0x48], 0
jne 0x10030712
and dword [ebp - 0x14], 0
mov ecx, dword [ebp - 4]
test ecx, ecx
je 0x1003071e
call fcn.100104f2
mov eax, dword [ebp + 0x18]
cmp word [eax], 0
je 0x100307ee
cmp word [eax], 0x2a
je 0x100307ee
cmp byte [ebp + 0x2e], 0
je 0x1003078a
cmp dword [ebp + 0x5c], 0
je 0x1003078a
test byte [ebp + 0x5b], 0x10
jne 0x1003078a
push eax
push dword [ebp + 0x5c]
push dword [ebp + 0x70]
call fcn.1002d15c
add esp, 0xc
cmp byte [ebp + 0x5b], 0
mov esi, eax
je 0x1003079a
test esi, esi
je 0x1003079a
push dword [esi + 4]
call dword [sym.imp.KERNEL32.dll_lstrlenW]
mov ecx, dword [esi + 4]
lea eax, [eax + eax + 2]
push eax
push ecx
add ecx, 2
push ecx
call fcn.100144b5
mov eax, dword [esi + 4]
add esp, 0xc
mov word [eax], 0x3c
jmp 0x1003079a
lea ecx, [ebp - 0x12c]
push ecx
mov ecx, dword [ebp + 0x70]
push eax
call fcn.100457c2
cmp byte [ebp + 0x2f], 0
je 0x100307ee
push dword [ebp + 0x18]
lea ecx, [ebp + 0x78]
call fcn.100501eb
push str..args
lea ecx, [ebp + 0x18]
call fcn.1004618f
push str..addr
lea ecx, [ebp + 0x78]
call fcn.1004618f
push dword [ebp + 0x18]
movsx eax, byte [ebp + 0x2c]
push eax
push dword [ebp + 0x70]
call fcn.1004884d
push dword [ebp + 0x78]
push dword [ebp + 0x54]
push dword [ebp + 0x70]
call fcn.100104aa
add esp, 0x18
lea ecx, [ebp + 0x78]
call fcn.1003f96c
mov esi, dword [ebp - 0x18]
jmp 0x10030808
mov eax, dword [ebp - 0x48]
mov eax, dword [eax + esi*4 + 0x1ac]
test eax, eax
je 0x10030808
push eax
call fcn.1000f75a
pop ecx
dec esi
cmp esi, 2
jge 0x100307f3
mov esi, dword [ebp - 0x14]
lea ecx, [ebp - 0x60]
call fcn.1003f96c
lea ecx, [ebp - 0x70]
call fcn.1003f96c
lea ecx, [ebp - 0xa4]
call fcn.100ab7c3
lea ecx, [ebp - 0xa4]
call fcn.1003f96c
lea ecx, [ebp - 0x74]
call fcn.1003f96c
lea ecx, [ebp - 0x44]
call fcn.1003f96c
lea ecx, [ebp - 0x94]
call fcn.1003f96c
lea ecx, [ebp + 0x18]
call fcn.1003f96c
lea ecx, [ebp - 0x68]
call fcn.1003f96c
mov eax, esi
jmp 0x100308c8
lea ecx, [ebp - 0x60]
call fcn.1003f96c
lea ecx, [ebp - 0x70]
call fcn.1003f96c
lea ecx, [ebp - 0xa4]
call fcn.100ab7c3
lea ecx, [ebp - 0xa4]
call fcn.1003f96c
lea ecx, [ebp - 0x74]
call fcn.1003f96c
lea ecx, [ebp - 0x44]
call fcn.1003f96c
lea ecx, [ebp - 0x94]
call fcn.1003f96c
lea ecx, [ebp + 0x18]
call fcn.1003f96c
lea ecx, [ebp - 0x68]
call fcn.1003f96c
mov al, byte [ebp + 0x2b]
neg al
sbb eax, eax
and eax, 0x7ff8ffa9
add eax, 0x80070057
pop edi
pop esi
pop ebx
add ebp, 0x68
leave
ret 0x10