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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x1003a842
mov eax, dword fs:[0]
push eax
sub esp, 0x7d8
mov eax, dword [0x10043330]
xor eax, esp
mov dword [esp + 0x7d0], eax
push ebx
push esi
push edi
mov eax, dword [0x10043330]
xor eax, esp
push eax
lea eax, [esp + 0x7e8]
mov dword fs:[0], eax
mov eax, dword [ebp + 8]
xor ebx, ebx
push 0x3f
mov dword [esp + 0x24], eax
mov ecx, 0x6c
lea esi, [ebp + 0xc]
lea edi, [esp + 0xc0]
rep movsd dword es:[edi], dword [esi]
mov ecx, dword [ebp + 0x1bc]
lea eax, [esp + 0x321]
push ebx
push eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x28], edx
mov byte [esp + 0x328], bl
call fcn.1002fb20
add esp, 0xc
mov dword [esp + 0xb8], 0xf
mov dword [esp + 0xb4], ebx
mov byte [esp + 0xa4], bl
lea ecx, [esp + 0xa0]
push ecx
lea esi, [esp + 0x270]
mov dword [esp + 0x7f4], ebx
call fcn.10018200
add esp, 4
push 0xffffffffffffffff
lea ecx, [ebx + 8]
lea esi, [esp + 0x270]
lea edx, [esp + 0xa4]
call fcn.10015bc0
push 0xffffffffffffffff
push ebx
push eax
lea ecx, [esp + 0xac]
mov byte [esp + 0x7fc], 1
call fcn.10002de0
mov byte [esp + 0x7f0], bl
cmp dword [esp + 0x284], 0x10
jb 0x1002513a
mov edx, dword [esp + 0x270]
push edx
call fcn.1002b322
add esp, 4
push 0x7f
lea eax, [esp + 0x361]
push ebx
push eax
mov byte [esp + 0x368], bl
call fcn.1002fb20
add esp, 0xc
lea ecx, [esp + 0x35c]
call fcn.100186d0
test al, al
jne 0x100251a8
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [esp + 0x20]
push eax
push 0xd79
push str._RBW:_d_Error_Code:_d
add esi, 0x1f0
call fcn.10028c00
add esp, 0xc
cmp dword [esp + 0xb8], 0x10
jb 0x100251a1
mov ecx, dword [esp + 0xa4]
push ecx
call fcn.1002b322
add esp, 4
xor al, al
jmp 0x10025b8b
lea eax, [esp + 0x35c]
mov dword [esp + 0x9c], 0xf
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
lea edx, [eax + 1]
jmp 0x100251d0
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100251d0
sub eax, edx
push eax
lea edx, [esp + 0x360]
push edx
lea ecx, [esp + 0x8c]
call fcn.10002fc0
lea edi, [esp + 0x84]
mov byte [esp + 0x7f0], 2
call fcn.10019c30
mov eax, dword [esp + 0xa4]
mov esi, 0x10
cmp dword [esp + 0xb8], esi
jae 0x10025220
lea eax, [esp + 0xa4]
mov ecx, dword [esp + 0xb4]
push ecx
push eax
lea edx, [esp + 0x324]
push edx
call fcn.100304b0
mov eax, dword [esp + 0x94]
add esp, 0xc
cmp dword [esp + 0x9c], esi
jae 0x10025250
lea eax, [esp + 0x88]
mov ecx, dword [eax]
mov esi, dword [esp + 0x116]
mov dword [esp + 0x324], ecx
mov edx, dword [eax + 4]
mov dword [esp + 0x328], edx
mov eax, 0xd1b71759
mul esi
mov ecx, edx
shr ecx, 0xd
mov edx, ecx
imul edx, edx, 0x2710
mov eax, esi
sub eax, edx
xor edx, edx
mov esi, 0x64
div esi
mov edi, dword [esp + 0x11a]
mov byte [esp + 0x2dc], bl
mov byte [esp + 0x2fc], bl
mov byte [esp + 0x29c], bl
mov dword [esp + 0x24], eax
mov dword [esp + 0x14], edx
mov eax, 0xd1b71759
mul edi
mov esi, edx
shr esi, 0xd
mov edx, esi
imul edx, edx, 0x2710
mov eax, edi
sub eax, edx
xor edx, edx
mov edi, 0x64
div edi
mov dword [esp + 0x26c], eax
xor eax, eax
mov dword [esp + 0x2dd], eax
mov dword [esp + 0x2e1], eax
mov dword [esp + 0x2e5], eax
mov dword [esp + 0x2e9], eax
mov dword [esp + 0x2ed], eax
mov dword [esp + 0x2f1], eax
mov dword [esp + 0x2f5], eax
mov word [esp + 0x2f9], ax
mov byte [esp + 0x2fb], al
mov dword [esp + 0x2fd], eax
mov dword [esp + 0x301], eax
mov dword [esp + 0x305], eax
mov dword [esp + 0x309], eax
mov dword [esp + 0x30d], eax
mov dword [esp + 0x311], eax
mov dword [esp + 0x315], eax
mov word [esp + 0x319], ax
mov byte [esp + 0x31b], al
mov dword [esp + 0x29d], eax
mov dword [esp + 0x2a1], eax
mov dword [esp + 0x2a5], eax
mov dword [esp + 0x2a9], eax
mov dword [esp + 0x2ad], eax
mov dword [esp + 0x2b1], eax
mov dword [esp + 0x2b5], eax
mov word [esp + 0x2b9], ax
mov byte [esp + 0x2bb], al
mov eax, dword [esp + 0x14]
push eax
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x28]
push edx
push ecx
lea ecx, [edi - 0x44]
push str._04d__02d__02d
lea edi, [esp + 0x2ec]
call fcn.10004080
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x27c]
push eax
push ecx
push esi
push str._04d__02d__02d
mov ecx, 0x20
lea edi, [esp + 0x31c]
call fcn.10004080
mov edx, dword [esp + 0x13e]
push edx
push str._03d
mov ecx, 0x20
lea edi, [esp + 0x2c4]
call fcn.10004080
add esp, 0x28
cmp dword [esp + 0x22e], ebx
mov byte [esp + 0x290], bl
mov dword [esp + 0x291], ebx
mov dword [esp + 0x295], ebx
mov byte [esp + 0x299], bl
je 0x10025440
mov ecx, dword [esp + 0x122]
push 0xa
lea eax, [esp + 0x294]
push eax
push ecx
call fcn.100398a2
add esp, 0xc
mov dword [esp + 0x48], 0xf
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
push ebx
push 0x16
lea ecx, [esp + 0x38]
mov byte [esp + 0x7f8], 3
call fcn.10003660
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x34]
mov esi, 0x10
cmp eax, esi
jae 0x10025479
lea ecx, [esp + 0x34]
push 0x16
lea edx, [esp + 0xf2]
push edx
push eax
push ecx
call fcn.1002b9dc
mov eax, dword [esp + 0x44]
add esp, 0x10
cmp dword [esp + 0x48], esi
mov dword [esp + 0x44], 0x16
jae 0x100254a3
lea eax, [esp + 0x34]
push 1
mov byte [eax + 0x16], bl
push 0x1003e414
lea eax, [esp + 0x38]
call fcn.10015ee0
lea eax, [esp + 0x31c]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100254c0
sub eax, edx
push eax
lea eax, [esp + 0x320]
push eax
lea eax, [esp + 0x38]
call fcn.10015ee0
push 1
push 0x1003e414
lea eax, [esp + 0x38]
call fcn.10015ee0
lea eax, [esp + 0x2dc]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x100254f7
sub eax, edx
push eax
lea ecx, [esp + 0x2e0]
push ecx
lea eax, [esp + 0x38]
call fcn.10015ee0
push 1
push 0x1003e414
lea eax, [esp + 0x38]
call fcn.10015ee0
lea eax, [esp + 0x2fc]
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10025530
sub eax, edx
push eax
lea edx, [esp + 0x300]
push edx
lea eax, [esp + 0x38]
call fcn.10015ee0
cmp dword [esp + 0x22e], ebx
je 0x1002562d
push 1
push 0x1003e414
lea eax, [esp + 0x38]
call fcn.10015ee0
lea eax, [esp + 0x1a6]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10025574
sub eax, edx
push eax
lea eax, [esp + 0x1aa]
push eax
lea eax, [esp + 0x38]
call fcn.10015ee0
push 1
push 0x1003e414
lea eax, [esp + 0x38]
call fcn.10015ee0
mov edx, dword [esp + 0x226]
xor eax, eax
push 0xa
lea ecx, [esp + 0x270]
push ecx
push edx
mov byte [esp + 0x278], bl
mov dword [esp + 0x279], eax
mov dword [esp + 0x27d], eax
mov dword [esp + 0x281], eax
mov dword [esp + 0x285], eax
mov dword [esp + 0x289], eax
mov dword [esp + 0x28d], eax
mov dword [esp + 0x291], eax
mov word [esp + 0x295], ax
mov byte [esp + 0x297], al
call fcn.100398a2
lea eax, [esp + 0x278]
add esp, 0xc
lea edx, [eax + 1]
mov edi, edi
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10025610
sub eax, edx
push eax
lea eax, [esp + 0x270]
push eax
lea eax, [esp + 0x38]
call fcn.10015ee0
push 1
push 0x1003e414
lea eax, [esp + 0x38]
call fcn.10015ee0
lea eax, [esp + 0x29c]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10025647
sub eax, edx
push eax
lea ecx, [esp + 0x2a0]
push ecx
lea eax, [esp + 0x38]
call fcn.10015ee0
cmp dword [esp + 0x22e], ebx
je 0x10025784
push 1
push 0x1003e414
lea eax, [esp + 0x38]
call fcn.10015ee0
lea eax, [esp + 0x290]
lea edx, [eax + 1]
jmp 0x10025690
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10025690
sub eax, edx
push eax
lea edx, [esp + 0x294]
push edx
lea eax, [esp + 0x38]
call fcn.10015ee0
push 1
push 0x1003e414
lea eax, [esp + 0x38]
call fcn.10015ee0
mov ecx, dword [esp + 0x232]
xor eax, eax
mov dword [esp + 0x26d], eax
mov dword [esp + 0x271], eax
mov dword [esp + 0x275], eax
mov dword [esp + 0x279], eax
mov dword [esp + 0x27d], eax
mov dword [esp + 0x281], eax
mov dword [esp + 0x285], eax
mov word [esp + 0x289], ax
mov byte [esp + 0x28b], al
push 0xa
lea eax, [esp + 0x270]
push eax
push ecx
mov byte [esp + 0x278], bl
call fcn.100398a2
lea eax, [esp + 0x278]
add esp, 0xc
lea edi, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10025730
sub eax, edi
push eax
lea edx, [esp + 0x270]
push edx
lea eax, [esp + 0x38]
call fcn.10015ee0
push 1
push 0x1003e414
lea eax, [esp + 0x38]
call fcn.10015ee0
lea eax, [esp + 0x126]
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10025767
sub eax, edx
push eax
lea eax, [esp + 0x12a]
push eax
lea eax, [esp + 0x38]
call fcn.10015ee0
cmp dword [esp + 0x48], esi
mov edi, dword [esp + 0x34]
jae 0x10025792
lea edi, [esp + 0x34]
mov edx, dword [esp + 0x44]
xor ecx, ecx
xor eax, eax
cmp edx, ebx
jle 0x100257ad
mov edi, edi
movzx esi, byte [edi + eax]
add eax, 1
add ecx, esi
cmp eax, edx
jl 0x100257a0
push ecx
push 0x1003e47c
mov ecx, 0x20
lea edi, [esp + 0x2c4]
mov byte [esp + 0x2c4], bl
mov dword [esp + 0x2c5], ebx
mov dword [esp + 0x2c9], ebx
mov dword [esp + 0x2cd], ebx
mov dword [esp + 0x2d1], ebx
mov dword [esp + 0x2d5], ebx
mov dword [esp + 0x2d9], ebx
mov dword [esp + 0x2dd], ebx
mov word [esp + 0x2e1], bx
mov byte [esp + 0x2e3], bl
call fcn.10004080
mov eax, edi
add esp, 8
mov dword [esp + 0x64], 0xf
mov dword [esp + 0x60], ebx
mov byte [esp + 0x50], bl
lea esi, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10025823
sub eax, esi
push eax
lea ecx, [esp + 0x2c0]
push ecx
lea ecx, [esp + 0x54]
call fcn.10002fc0
push 1
push 0x1003e414
lea eax, [esp + 0x54]
mov byte [esp + 0x7f8], 4
call fcn.10015ee0
push ebx
lea edx, [esp + 0x34]
push edx
or eax, 0xffffffff
lea esi, [esp + 0x54]
call fcn.10015df0
push 0x1ff
lea eax, [esp + 0x3e1]
push ebx
push eax
mov byte [esp + 0x3e8], bl
call fcn.1002fb20
mov edi, dword [esp + 0x6c]
add esp, 0xc
cmp dword [esp + 0x64], 0x10
jb 0x1002589c
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x14], ecx
jmp 0x100258a4
lea edx, [esp + 0x50]
mov dword [esp + 0x14], edx
push 0x200
lea eax, [esp + 0x3e0]
push eax
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
test eax, eax
jne 0x100258cf
mov ebx, dword [esp + 0x14]
lea esi, [esp + 0x3dc]
mov eax, edi
call fcn.1002b030
xor ebx, ebx
push 8
push str.OFFLINE
lea ecx, [esp + 0x70]
mov dword [esp + 0x88], 0xf
mov dword [esp + 0x84], ebx
mov byte [esp + 0x74], bl
call fcn.10002fc0
lea eax, [esp + 0x3dc]
mov byte [esp + 0x7f0], 5
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x10025907
sub eax, edx
push eax
lea ecx, [esp + 0x3e0]
push ecx
lea eax, [esp + 0x70]
call fcn.10015ee0
push 0x1ff
lea edx, [esp + 0x5e1]
push ebx
push edx
mov byte [esp + 0x5e8], bl
call fcn.1002fb20
mov edi, dword [esp + 0x78]
add esp, 0xc
cmp dword [esp + 0x80], 0x10
mov dword [esp + 0x18], 0x200
mov dword [esp + 0x270], ebx
mov dword [esp + 0x274], ebx
mov dword [esp + 0x278], ebx
mov edx, 0x1003e288
mov esi, 0x40
jae 0x1002597a
lea edi, [esp + 0x6c]
mov ecx, dword [esp + 0x7c]
lea eax, [esp + 0x18]
push eax
lea eax, [esp + 0x5e0]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], edi
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
mov dword [eax + 0xc], esi
call fcn.1002ab20
push 0x200
lea ecx, [esp + 0x3e0]
push ebx
push ecx
call fcn.1002fb20
mov edi, dword [esp + 0x24]
add esp, 0xc
push 0x200
lea edx, [esp + 0x3e0]
push edx
call dword [sym.imp.KERNEL32.dll_IsBadWritePtr]
test eax, eax
jne 0x100259e8
lea esi, [esp + 0x3dc]
mov eax, edi
lea ebx, [esp + 0x5dc]
call fcn.1002b030
xor ebx, ebx
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x18]
cmp dword [ecx], eax
mov edi, 0x10
mov dword [ecx], eax
jae 0x10025ac4
call dword [sym.imp.KERNEL32.dll_GetLastError]
mov esi, dword [esp + 0x20]
push eax
push 0xddf
push str._RBW:_d_Error_Code:_d
add esi, 0x1f0
call fcn.10028c00
add esp, 0xc
cmp dword [esp + 0x80], edi
jb 0x10025a38
mov eax, dword [esp + 0x6c]
push eax
call fcn.1002b322
add esp, 4
cmp dword [esp + 0x64], edi
mov esi, 0xf
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x6c], bl
jb 0x10025a5f
mov ecx, dword [esp + 0x50]
push ecx
call fcn.1002b322
add esp, 4
cmp dword [esp + 0x48], edi
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], ebx
mov byte [esp + 0x50], bl
jb 0x10025a7e
mov edx, dword [esp + 0x34]
push edx
call fcn.1002b322
add esp, 4
cmp dword [esp + 0x9c], edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
jb 0x10025aa3
mov eax, dword [esp + 0x88]
push eax
call fcn.1002b322
add esp, 4
cmp dword [esp + 0xb8], edi
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
jmp 0x1002518f
push eax
mov eax, dword [esp + 0x2c]
lea edx, [esp + 0x3e0]
push edx
push eax
call fcn.100304b0
add esp, 0xc
cmp dword [esp + 0x80], edi
jb 0x10025af0
mov ecx, dword [esp + 0x6c]
push ecx
call fcn.1002b322
add esp, 4
cmp dword [esp + 0x64], edi
mov esi, 0xf
mov dword [esp + 0x80], esi
mov dword [esp + 0x7c], ebx
mov byte [esp + 0x6c], bl
jb 0x10025b17
mov edx, dword [esp + 0x50]
push edx
call fcn.1002b322
add esp, 4
cmp dword [esp + 0x48], edi
mov dword [esp + 0x64], esi
mov dword [esp + 0x60], ebx
mov byte [esp + 0x50], bl
jb 0x10025b36
mov eax, dword [esp + 0x34]
push eax
call fcn.1002b322
add esp, 4
cmp dword [esp + 0x9c], edi
mov dword [esp + 0x48], esi
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
jb 0x10025b5b
mov ecx, dword [esp + 0x88]
push ecx
call fcn.1002b322
add esp, 4
cmp dword [esp + 0xb8], edi
mov dword [esp + 0x9c], esi
mov dword [esp + 0x98], ebx
mov byte [esp + 0x88], bl
jb 0x10025b89
mov edx, dword [esp + 0xa4]
push edx
call fcn.1002b322
add esp, 4
mov al, 1
mov ecx, dword [esp + 0x7e8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x7d0]
xor ecx, esp
call fcn.1002b6af
mov esp, ebp
pop ebp
ret 0x1b8