Function at 0x100203a0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x100a777e
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x520
push ebx
push esi
push edi
push 0x3ff
lea eax, [esp + 0x12d]
push 0
push eax
mov byte [esp + 0x134], 0
call fcn.10088b00
add esp, 0xc
mov ecx, str.eFdLFhhdUAcAQnFfUANIFRVEEVY
push dword [0x100dcf3c]
call fcn.10045550
push eax
lea eax, [esp + 0x130]
push eax
call fcn.10024070
sub esp, 0xc
mov edx, esp
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
mov byte [edx], 0
cmp byte [esp + 0x140], 0
jne 0x10020425
xor ecx, ecx
jmp 0x10020439
lea ecx, [esp + 0x140]
lea esi, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x10020430
sub ecx, esi
push ecx
lea eax, [esp + 0x144]
push eax
mov ecx, edx
call fcn.10004460
mov ecx, 2
call fcn.1002bd20
mov ecx, dword [0x100dd480]
mov edi, dword [0x100dd47c]
sub ecx, edi
mov eax, 0x63e7063f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
add esp, 0x18
add eax, edx
jne 0x100204dd
mov ecx, 0x100beda0
call fcn.10045550
sub esp, 0x18
mov edx, esp
mov esi, eax
mov dword [edx + 0x14], 0xf
mov dword [edx + 0x10], 0
mov byte [edx], 0
cmp byte [esi], 0
jne 0x100204a2
xor ecx, ecx
jmp 0x100204b0
mov ecx, esi
lea edi, [ecx + 1]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100204a7
sub ecx, edi
push ecx
push esi
mov ecx, edx
call fcn.10004460
mov ecx, 1
call fcn.1002bd20
add esp, 0x18
xor eax, eax
mov ecx, dword [esp + 0x52c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [0x100dcf3c]
cmp ebx, eax
jb 0x10020520
mov ecx, str.d0YTB1ZWFkxFXlcRWQlCUBgLUlRcFxAURgkZElFXQQ
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
mov ecx, 2
call fcn.1002bd20
add esp, 0x18
xor eax, eax
mov ecx, dword [esp + 0x52c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor esi, esi
cmp byte [0x100dcf0c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x1c], esi
mov dword [esp + 0x30], esi
jne 0x10020e11
mov eax, dword [0x100dcf44]
test eax, eax
je 0x10020553
mov al, byte [eax + 4]
test al, al
jne 0x10020e11
imul ebx, ebx, 0x148
add ebx, edi
mov ecx, ebx
mov dword [esp + 0x40], ebx
mov byte [esp + 0x13], 0
mov byte [esp + 0x1a], 1
call fcn.10029420
test al, al
je 0x100205ad
cmp byte [ebx + 0xd8], 0
jne 0x10020d73
mov ecx, str.d0FAF1VXFhEEQkxfURQQWl4CUUAZEgJHEgdaAlxIQgRSHA
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
mov ecx, 3
call fcn.1002bd20
add esp, 0x18
mov byte [esp + 0x13], 1
jmp 0x10020d73
cmp dword [ebx + 0xb4], esi
je 0x10020615
mov ecx, ebx
mov byte [esp + 0x13], 0
mov byte [esp + 0x1a], 0
call fcn.10029240
cmp eax, 7
jne 0x10020d73
mov edx, dword [ebx + 0x130]
mov eax, dword [ebx + 0x134]
sub eax, edx
sar eax, 2
xor ecx, ecx
test eax, eax
je 0x10020d73
lea ebx, [ebx]
mov eax, dword [edx + ecx*4]
inc ecx
mov byte [eax + 0x12c], 1
mov edx, dword [ebx + 0x130]
mov eax, dword [ebx + 0x134]
sub eax, edx
sar eax, 2
cmp ecx, eax
jb 0x100205f0
jmp 0x10020d73
mov dword [esp + 0x74], 0xf
mov dword [esp + 0x70], esi
mov byte [esp + 0x60], 0
xor ecx, ecx
mov dword [esp + 0x534], 0
call fcn.1000c260
cmp eax, 3
je 0x100206d9
cmp byte [0x100dcf0d], 0
jne 0x100206d9
xor ecx, ecx
call fcn.1000c260
cmp eax, 2
je 0x1002069e
cmp byte [0x100dcf01], 0
jne 0x1002069e
mov ecx, str.dVNfDnJhG18CVUxkRwNCZl0IUVFNDAxaQQ
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
mov ecx, 3
call fcn.1002bd20
add esp, 0x18
lea ecx, [esp + 0x44]
push dword [0x100dd518]
call fcn.100220f0
mov byte [esp + 0x534], 3
jmp 0x10020712
mov ecx, str.dVNfDnJhG18EU1tURBI
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
mov ecx, 3
call fcn.1002bd20
add esp, 0x18
lea ecx, [esp + 0x44]
push dword [0x100dd414]
call fcn.100220f0
mov byte [esp + 0x534], 2
jmp 0x10020712
mov ecx, str.dVNfDnJhG18BVVtdXQhV
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
mov ecx, 3
call fcn.1002bd20
add esp, 0x18
lea ecx, [esp + 0x44]
push dword [0x100dd4f0]
call fcn.100220f0
mov byte [esp + 0x534], 1
lea edx, [esp + 0x60]
mov ecx, eax
call fcn.10019ab0
lea ecx, [esp + 0x44]
mov byte [esp + 0x534], 0
call fcn.10022150
cmp dword [esp + 0x74], 0x10
lea ecx, [esp + 0x60]
cmovae ecx, dword [esp + 0x60]
push ecx
call fcn.10026d10
mov edi, eax
add esp, 4
mov dword [esp + 0x14], edi
test edi, edi
je 0x10020d5f
mov edx, dword [0x100dd40c]
mov ecx, edi
call fcn.100277a0
cmp dword [eax + 0xc], 0
setne cl
test cl, cl
jne 0x100207c3
mov byte [0x100dcf01], cl
mov byte [0x100dcf0d], cl
mov ecx, str.eF1HQldZFhUKEEhDWwVVUFw
mov dword [0x100dd368], 0
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
mov ecx, 2
call fcn.1002bd20
add esp, 0x18
lea ecx, [esp + 0x60]
call fcn.10002140
xor eax, eax
mov ecx, dword [esp + 0x52c]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [0x100dd64c]
mov ecx, edi
call fcn.100277a0
test eax, eax
je 0x100207e6
mov edx, dword [0x100dd64c]
mov ecx, edi
call fcn.100277a0
mov eax, dword [eax + 0xc]
jmp 0x100207e8
xor eax, eax
mov edx, dword [0x100dd524]
test eax, eax
mov ecx, edi
setne byte [esp + 0x1b]
call fcn.100277a0
test eax, eax
je 0x10020812
mov edx, dword [0x100dd524]
mov ecx, edi
call fcn.100277a0
mov eax, dword [eax + 0x14]
jmp 0x10020814
xor eax, eax
mov edx, dword [0x100dd784]
mov ecx, edi
mov dword [esp + 0x3c], eax
mov dword [ebx + 0xd4], eax
call fcn.100277a0
test eax, eax
je 0x10020841
mov edx, dword [0x100dd784]
mov ecx, edi
call fcn.100277a0
mov eax, dword [eax + 0x14]
jmp 0x10020843
xor eax, eax
mov edx, dword [0x100dd5d0]
mov ecx, edi
mov dword [esp + 0x2c], eax
mov dword [ebx + 0xd0], eax
call fcn.100277a0
mov edx, dword [0x100dd5dc]
mov esi, eax
mov ecx, edi
mov dword [esp + 0x28], esi
call fcn.100277a0
mov dword [esp + 0x5c], eax
test esi, esi
je 0x10020adb
test eax, eax
je 0x10020adb
xor ebx, ebx
mov ecx, esi
mov dword [esp + 0x34], ebx
call fcn.10027780
test eax, eax
jle 0x10020adb
mov eax, dword [esi + 8]
mov ecx, ebx
test eax, eax
je 0x10020ac3
test ecx, ecx
jle 0x100208b3
mov eax, dword [eax]
dec ecx
test eax, eax
jne 0x100208a3
jmp 0x10020ac3
test eax, eax
je 0x10020ac3
mov eax, dword [eax + 0x10]
test eax, eax
je 0x10020ac3
push eax
lea ecx, [esp + 0x48]
mov byte [esp + 0x17], 1
call fcn.100020e0
lea ecx, [esp + 0x44]
mov byte [esp + 0x534], 4
call fcn.1000e7b0
mov dword [esp + 0x20], eax
cmp eax, 0xffffffff
jne 0x10020927
mov ecx, str.cFNaDl1WFhUKEF5YWgIQVFsHUUJNAAcUXQBfBEsYURRfVh0
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
mov ecx, 1
call fcn.1002bd20
add esp, 0x18
lea ecx, [esp + 0x44]
mov byte [esp + 0x534], 0
call fcn.10002140
jmp 0x10020ac3
mov ebx, eax
imul ebx, ebx, 0x148
add ebx, dword [0x100dd47c]
sub esp, 8
lea ecx, [esp + 0x98]
call fcn.100059e0
lea eax, [esp + 0x78]
push eax
mov ecx, ebx
mov byte [esp + 0x538], 5
call fcn.10028d50
mov edi, eax
mov ecx, str.FlNQAV1CQgQBEA
mov byte [esp + 0x534], 6
call fcn.10045550
push dword [esp + 0x20]
mov esi, eax
push ecx
mov ecx, 0x100bef2c
call fcn.10045550
mov edx, eax
lea ecx, [esp + 0x98]
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10021e20
mov edx, 0x100bef28
mov ecx, eax
call fcn.10007e30
mov edx, edi
mov ecx, eax
call fcn.10023e20
mov edx, esi
mov ecx, eax
call fcn.10007e30
lea edx, [esp + 0x44]
mov ecx, eax
call fcn.10023e20
lea ecx, [esp + 0x78]
mov byte [esp + 0x534], 5
call fcn.10002140
sub esp, 0x18
lea ecx, [esp + 0xa8]
push esp
call fcn.10005aa0
mov ecx, 3
call fcn.1002bd20
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x58]
mov dword [ebx + 0xd0], eax
mov eax, dword [esp + 0x54]
add esp, 0x18
mov dword [ebx + 0xd4], eax
call fcn.10029240
cmp eax, 7
sete al
push 0x41
mov byte [ebx + 0x12c], al
call dword [sym.imp.USER32.dll_IsCharLowerA]
test eax, eax
je 0x10020a25
inc dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x34]
mov eax, dword [eax + 8]
test eax, eax
je 0x10020a5e
test ecx, ecx
jle 0x10020a41
mov eax, dword [eax]
dec ecx
test eax, eax
jne 0x10020a34
jmp 0x10020a5e
test eax, eax
je 0x10020a5e
mov eax, dword [eax + 0x10]
test eax, eax
je 0x10020a5e
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
mov ecx, ebx
call fcn.1002ae90
mov al, byte [ebx + 0x12d]
test al, al
je 0x10020a73
mov word [ebx + 0x12e], 0x101
jmp 0x10020a9e
push 1
mov ecx, ebx
call fcn.1002a3f0
push 1
mov ecx, ebx
call fcn.1002a340
push 0
mov ecx, ebx
call fcn.1002a3d0
cmp byte [esp + 0x1b], 0
je 0x10020a9e
mov ecx, dword [esp + 0x20]
call fcn.1001e280
lea ecx, [esp + 0x90]
call fcn.10005000
lea ecx, [esp + 0x44]
mov byte [esp + 0x534], 0
call fcn.10002140
mov ebx, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
inc ebx
mov ecx, esi
mov dword [esp + 0x34], ebx
call fcn.10027780
cmp ebx, eax
jl 0x10020896
mov edi, dword [esp + 0x14]
mov edx, dword [0x100dd41c]
mov ecx, edi
call fcn.100277a0
mov esi, eax
mov dword [esp + 0x28], esi
test esi, esi
je 0x10020d5b
xor ebx, ebx
mov ecx, esi
mov dword [esp + 0x20], ebx
call fcn.10027780
test eax, eax
jle 0x10020d5b
jmp 0x10020b10
mov eax, dword [esi + 8]
mov ecx, ebx
test eax, eax
je 0x10020d47
lea ecx, [ecx]
test ecx, ecx
jle 0x10020b30
mov eax, dword [eax]
dec ecx
test eax, eax
jne 0x10020b20
jmp 0x10020d47
test eax, eax
je 0x10020d47
mov eax, dword [eax + 0x10]
test eax, eax
je 0x10020d47
push eax
lea ecx, [esp + 0x48]
call fcn.100020e0
lea ecx, [esp + 0x44]
mov byte [esp + 0x534], 7
call fcn.1000e7b0
mov dword [esp + 0x14], eax
cmp eax, 0xffffffff
jne 0x10020b9f
mov ecx, str.cFNaDl1WFhUKEF5YWgIQR10OUVFNAAcUXQBfBEsYURRfVh0
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
mov ecx, 1
call fcn.1002bd20
add esp, 0x18
lea ecx, [esp + 0x44]
mov byte [esp + 0x534], 0
call fcn.10002140
jmp 0x10020d47
mov ebx, eax
imul ebx, ebx, 0x148
add ebx, dword [0x100dd47c]
sub esp, 8
lea ecx, [esp + 0x98]
call fcn.100059e0
lea eax, [esp + 0x78]
push eax
mov ecx, ebx
mov byte [esp + 0x538], 8
call fcn.10028d50
mov edi, eax
mov ecx, str.FkBWCF1RQgQBEA
mov byte [esp + 0x534], 9
call fcn.10045550
push dword [esp + 0x14]
mov esi, eax
push ecx
mov ecx, str.eVRVB0pp
call fcn.10045550
mov edx, eax
lea ecx, [esp + 0x98]
call fcn.10007e30
add esp, 4
mov ecx, eax
call fcn.10021e20
mov edx, 0x100bef80
mov ecx, eax
call fcn.10007e30
mov edx, edi
mov ecx, eax
call fcn.10023e20
mov edx, esi
mov ecx, eax
call fcn.10007e30
lea edx, [esp + 0x44]
mov ecx, eax
call fcn.10023e20
lea ecx, [esp + 0x78]
mov byte [esp + 0x534], 8
call fcn.10002140
sub esp, 0x18
lea ecx, [esp + 0xa8]
push esp
call fcn.10005aa0
mov ecx, 3
call fcn.1002bd20
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x58]
mov dword [ebx + 0xd0], eax
mov eax, dword [esp + 0x54]
add esp, 0x18
mov dword [ebx + 0xd4], eax
call fcn.10029240
mov ecx, dword [esp + 0x38]
cmp eax, 7
sete al
mov byte [ebx + 0x12c], al
lea ecx, [ecx + 0x64]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov esi, edx
shr esi, 0x1f
add esi, edx
cmp dword [esp + 0x30], 0
jne 0x10020cb9
push 0x14
call fcn.10085dc2
add esp, 4
mov dword [esp + 0x30], eax
lea ecx, [esi + 0x64]
mov eax, 0x66666667
imul ecx
sar edx, 1
mov ecx, edx
add edx, 0x64
shr ecx, 0x1f
add ecx, edx
mov eax, 0x66666667
imul ecx
sar edx, 1
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dword [esp + 0x38], eax
cmp eax, 0x1e
jge 0x10020cec
inc dword [esp + 0x1c]
mov al, byte [ebx + 0x12d]
test al, al
je 0x10020d01
mov word [ebx + 0x12e], 1
jmp 0x10020d19
push 1
mov ecx, ebx
call fcn.1002a3f0
push 0x42
call dword [sym.imp.USER32.dll_IsCharUpperA]
mov byte [ebx + 0xb0], 0
push 0
mov ecx, ebx
call fcn.1002a3d0
lea ecx, [esp + 0x90]
call fcn.10005000
lea ecx, [esp + 0x44]
mov byte [esp + 0x534], 0
call fcn.10002140
mov ebx, dword [esp + 0x20]
mov esi, dword [esp + 0x28]
inc ebx
mov ecx, esi
mov dword [esp + 0x20], ebx
call fcn.10027780
cmp ebx, eax
jl 0x10020b10
mov esi, dword [esp + 0x1c]
lea ecx, [esp + 0x60]
mov dword [esp + 0x534], 0xffffffff
call fcn.10002140
mov byte [0x100dcf01], 0
mov byte [0x100dcf0d], 0
mov dword [0x100dd368], 0
call fcn.10010240
mov dl, byte [esp + 0x1a]
mov cl, byte [esp + 0x13]
push 0
call fcn.1001f470
add esp, 4
push 0x61
call dword [sym.imp.USER32.dll_IsCharAlphaNumericA]
test eax, eax
je 0x10020daf
inc esi
mov ebx, dword [esp + 0x30]
test ebx, ebx
jne 0x10020dc7
push 0x14
call fcn.10085dc2
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x10020dcf
mov eax, dword [esp + 0x38]
add eax, esi
mov dword [ebx], eax
push dword [0x100dcf3c]
mov ecx, str.eFdEQldUUAQXeVZVUR4QGBhBUA
call fcn.10045550
push eax
lea eax, [esp + 0x130]
push eax
call fcn.10024070
sub esp, 0xc
lea eax, [esp + 0x140]
mov ecx, esp
push eax
call fcn.100020e0
mov ecx, 2
call fcn.1002bd20
add esp, 0x18
jmp 0x10020ee9
mov ecx, str.ZVlaEhhTWg1FWFlCFARVUFZEV15QBghRVkYUQVdXFgxZQFZCV1RQBBdDGEVbRkNdVxM
call fcn.10045550
sub esp, 0x18
mov ecx, esp
push eax
call fcn.100020e0
mov ecx, 2
call fcn.1002bd20
call fcn.1001b520
mov ecx, dword [0x100dcf3c]
mov eax, dword [0x100dd47c]
imul ecx, ecx, 0x148
push 0x14
mov byte [ecx + eax + 0xb2], 1
call fcn.10085dc2
mov ecx, dword [0x100dd480]
mov edi, dword [0x100dd47c]
mov ebx, eax
sub ecx, edi
mov eax, 0x63e7063f
imul ecx
sar edx, 7
mov eax, edx
xor esi, esi
shr eax, 0x1f
add esp, 0x1c
mov dword [esp + 0x14], ebx
mov dword [0x100dcf3c], esi
add eax, edx
je 0x10020edc
mov ebx, dword [sym.imp.USER32.dll_IsCharUpperA]
lea ecx, [ecx]
push 0x42
imul esi, esi, 0x148
call ebx
mov word [esi + edi + 0xb0], 0x100
push 0x42
call ebx
mov ecx, dword [0x100dd480]
mov edi, dword [0x100dd47c]
mov esi, dword [0x100dcf3c]
sub ecx, edi
mov eax, 0x63e7063f
imul ecx
sar edx, 7
mov eax, edx
shr eax, 0x1f
inc esi
add eax, edx
mov dword [0x100dcf3c], esi
cmp esi, eax
jb 0x10020e90
mov ebx, dword [esp + 0x14]
mov dword [0x100dafa8], esi
mov byte [0x100dcf0c], 1
test ebx, ebx
je 0x10020ef6
push ebx
call fcn.10085c14
add esp, 4
mov ecx, dword [esp + 0x52c]
pop edi
pop esi
xor eax, eax
mov dword fs:[0], ecx
pop ebx
mov esp, ebp
pop ebp
ret