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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5ad249
mov eax, dword fs:[0]
push eax
sub esp, 0x18c
push ebx
push esi
push edi
mov eax, dword [0x5fa040]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, dword [ebp + 8]
xor ebx, ebx
mov dword [ebp - 4], 0
mov dword [ebp - 0x38], ebx
cmp dword [edi + 0xbc], ebx
je 0x47baef
lea ebx, [edi + 0xc4]
mov dword [ebp - 0x38], ebx
test ebx, ebx
je 0x47baef
cmp byte [ebx + 0x14a], 0
jne 0x47bad6
cmp byte [ebx + 0x14b], 0
jne 0x47bad6
cmp byte [ebx + 0x14c], 0
jne 0x47bad6
cmp byte [ebx + 0x14e], 0
je 0x47baef
mov eax, 0x80004001
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov dword [ebp - 0x18], 0
mov byte [ebp - 4], 1
mov al, byte [edi + 0x91]
test al, al
je 0x47bb1f
cmp byte [edi + 0x90], 0
mov byte [ebp - 0x25], 1
jne 0x47bb23
mov byte [ebp - 0x25], 0
mov cl, byte [edi + 0x8f]
test cl, cl
je 0x47bb3a
cmp byte [edi + 0x8e], 0
mov byte [ebp - 0x26], 1
jne 0x47bb3e
mov byte [ebp - 0x26], 0
mov dl, byte [edi + 0x8d]
test dl, dl
je 0x47bb53
mov ch, byte [edi + 0x8c]
mov byte [ebp - 0x27], ch
jmp 0x47bb57
mov byte [ebp - 0x27], 1
mov ah, byte [edi + 0x99]
test ah, ah
je 0x47bb6c
mov ch, byte [edi + 0x98]
mov byte [ebp - 0x28], ch
jmp 0x47bb70
mov byte [ebp - 0x28], 1
test ebx, ebx
je 0x47bbb3
cmp dword [ebx + 0x5c], 0
je 0x47bbb3
test al, al
jne 0x47bb86
cmp dword [ebx + 0x68], 0
setne byte [ebp - 0x25]
test cl, cl
jne 0x47bb95
cmp dword [ebx + 0x80], 0
setne byte [ebp - 0x26]
test dl, dl
jne 0x47bba4
cmp dword [ebx + 0x98], 0
setne byte [ebp - 0x27]
test ah, ah
jne 0x47bbb3
cmp dword [ebx + 0xc8], 0
setne byte [ebp - 0x28]
push 8
mov dword [ebp - 0x8c], 0
call fcn.0058813f
mov esi, eax
mov dword [ebp - 0x88], 0
xor eax, eax
mov dword [ebp - 0x8c], esi
add esp, 4
mov dword [ebp - 0x84], 3
mov word [esi], ax
mov byte [ebp - 4], 2
xor edx, edx
mov dword [ebp - 0x24], edx
cmp edx, dword [ebp + 0x10]
jae 0x47c886
mov ecx, dword [ebp + 0x14]
test ecx, ecx
jne 0x47bc57
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 4
test esi, esi
je 0x47bc33
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47bc2f
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47bc11
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
mov eax, 0x80004005
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ecx]
lea edi, [ebp - 0x120]
push edi
lea edi, [ebp - 0x118]
push edi
lea edi, [ebp - 0x11c]
push edi
push edx
push ecx
call dword [eax + 0x14]
mov ebx, eax
test ebx, ebx
je 0x47bcd3
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 4
test esi, esi
je 0x47bcb2
nop dword [eax]
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47bcae
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47bc90
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
push 8
mov dword [ebp - 0x54], 0
call fcn.0058813f
mov edi, eax
mov dword [ebp - 0x50], 0
xor eax, eax
mov dword [ebp - 0x54], edi
add esp, 4
mov dword [ebp - 0x4c], 3
mov dword [ebp - 0x41], eax
mov word [edi], ax
mov byte [ebp - 0x3d], al
mov byte [ebp - 4], 3
xorps xmm0, xmm0
cmp dword [ebp - 0x118], eax
mov edx, dword [ebp - 0x120]
setne cl
mov dword [ebp - 0x3c], edx
cmp dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x24]
setne byte [ebp - 0x44]
mov dword [ebp - 0x78], eax
xor eax, eax
mov byte [ebp - 0x43], cl
xor bl, bl
mov dword [ebp - 0x7c], edx
mov byte [ebp - 0x11], bl
mov byte [ebp - 0x42], bl
movlpd qword [ebp - 0x5c], xmm0
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x88], eax
mov word [esi], ax
cmp edx, 0xffffffff
je 0x47bf49
mov eax, dword [ebp - 0x38]
test eax, eax
je 0x47beed
cmp edx, dword [eax + 0x5c]
jae 0x47beed
mov ebx, edx
shl ebx, 4
add ebx, dword [eax + 0x58]
test cl, cl
jne 0x47be02
mov ecx, dword [ebp + 8]
xor eax, eax
mov dword [ebp - 0x30], eax
mov dword [ebp - 0x88], eax
mov word [esi], ax
mov eax, dword [ecx + 0x1b4]
test eax, eax
je 0x47be02
cmp dword [ecx + 0x1ac], 0
je 0x47be02
mov ecx, dword [eax + edx*4]
mov eax, dword [eax + edx*4 + 4]
sub eax, ecx
mov dword [ebp - 0x124], ecx
mov dword [ebp - 0x34], eax
cmp eax, 0x10000000
jae 0x47be02
dec eax
mov dword [ebp - 0x30], eax
cmp eax, dword [ebp - 0x84]
jbe 0x47bdda
push eax
lea ecx, [ebp - 0x8c]
call fcn.0046cd40
mov esi, dword [ebp - 0x8c]
mov ecx, dword [ebp - 0x124]
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x1ac]
lea ecx, [eax + ecx*2]
mov eax, dword [ebp - 0x34]
add eax, eax
push eax
push ecx
push esi
call fcn.0058aed0
mov eax, dword [ebp - 0x30]
add esp, 0xc
mov edx, dword [ebp - 0x3c]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebx + 4]
mov al, byte [ebx + 0xd]
mov dword [ebp - 0x58], ecx
mov ecx, dword [ebp - 0x38]
mov byte [ebp - 0x41], al
mov eax, dword [ebx]
mov dword [ebp - 0x5c], eax
cmp edx, dword [ecx + 0xe0]
jae 0x47be2e
mov eax, dword [ecx + 0xdc]
cmp byte [edx + eax], 0
je 0x47be2e
mov bl, 1
jmp 0x47be30
xor bl, bl
cmp byte [ebp - 0x43], 0
mov byte [ebp - 0x11], bl
mov byte [ebp - 0x42], bl
jne 0x47bf51
cmp edx, dword [ecx + 0x68]
jae 0x47be65
mov eax, dword [ecx + 0x64]
cmp byte [edx + eax], 0
je 0x47be65
mov eax, dword [ecx + 0x70]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
mov dword [ebp - 0x74], ecx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x70], eax
mov al, 1
jmp 0x47be6f
xorps xmm0, xmm0
xor al, al
movlpd qword [ebp - 0x74], xmm0
mov byte [ebp - 0x3f], al
cmp edx, dword [ecx + 0x80]
jae 0x47be9d
mov eax, dword [ecx + 0x7c]
cmp byte [edx + eax], 0
je 0x47be9d
mov eax, dword [ecx + 0x88]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 0x38]
mov dword [ebp - 0x68], eax
mov al, 1
jmp 0x47bea7
xorps xmm0, xmm0
xor al, al
movlpd qword [ebp - 0x6c], xmm0
mov byte [ebp - 0x3e], al
cmp edx, dword [ecx + 0x98]
jae 0x47bedb
mov eax, dword [ecx + 0x94]
cmp byte [edx + eax], 0
je 0x47bedb
mov eax, dword [ecx + 0xa0]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
mov dword [ebp - 0x60], eax
mov al, 1
mov dword [ebp - 0x64], ecx
mov byte [ebp - 0x3d], al
jmp 0x47c5cd
xorps xmm0, xmm0
xor al, al
movlpd qword [ebp - 0x64], xmm0
mov byte [ebp - 0x3d], al
jmp 0x47c5cd
push edi
call fcn.00588148
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 8
test esi, esi
je 0x47bf25
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47bf21
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47bf03
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
mov eax, 0x80070057
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
test cl, cl
je 0x47c5cd
cmp byte [ebp - 0x28], 0
je 0x47c063
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0xe4]
push edx
xor eax, eax
push 9
push dword [ebp - 0x24]
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xdc], eax
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov ebx, eax
test ebx, ebx
je 0x47bfe8
lea ecx, [ebp - 0xe4]
call fcn.004719d0
push edi
call fcn.00588148
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 8
test esi, esi
je 0x47bfc7
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47bfc3
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47bfa5
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ax, word [ebp - 0xe4]
test ax, ax
jne 0x47bff9
mov byte [ebp - 0x40], al
jmp 0x47c058
cmp ax, 0x13
je 0x47c04b
lea ecx, [ebp - 0xe4]
call fcn.004719d0
push edi
call fcn.00588148
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 8
test esi, esi
je 0x47bf25
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47c042
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47c024
jmp 0x47bf25
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x48], eax
mov byte [ebp - 0x40], 1
lea ecx, [ebp - 0xe4]
call fcn.004719d0
cmp byte [ebp - 0x25], 0
je 0x47c0ef
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x3f]
mov ecx, dword [ebp + 0x14]
push eax
lea eax, [ebp - 0x74]
push eax
push 0xa
call fcn.0047b9c0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x47c0e6
push dword [ebp - 0x54]
call fcn.00588148
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 8
test esi, esi
je 0x47c0c5
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47c0c1
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47c0a3
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x3c], ebx
cmp byte [ebp - 0x26], 0
je 0x47c17c
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x3e]
mov ecx, dword [ebp + 0x14]
push eax
lea eax, [ebp - 0x6c]
push eax
push 0xb
call fcn.0047b9c0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x47c173
push dword [ebp - 0x54]
call fcn.00588148
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 8
test esi, esi
je 0x47c152
nop
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47c14e
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47c130
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ebx, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x3c], ebx
cmp byte [ebp - 0x27], 0
je 0x47c20c
mov edx, dword [ebp - 0x24]
lea eax, [ebp - 0x3d]
mov ecx, dword [ebp + 0x14]
push eax
lea eax, [ebp - 0x64]
push eax
push 0xc
call fcn.0047b9c0
mov ebx, eax
add esp, 0xc
test ebx, ebx
je 0x47c203
push dword [ebp - 0x54]
call fcn.00588148
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 8
test esi, esi
je 0x47c1e2
nop dword [eax]
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47c1de
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47c1c0
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp - 0x7c]
mov edi, dword [ebp - 0x54]
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0xf4]
push edx
push 3
mov byte [ebp - 4], 4
push dword [ebp - 0x24]
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov ebx, eax
test ebx, ebx
je 0x47c2a3
lea ecx, [ebp - 0xf4]
call fcn.004719d0
push edi
call fcn.00588148
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 8
test esi, esi
je 0x47c282
nop word [eax + eax]
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47c27e
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47c260
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ax, word [ebp - 0xf4]
test ax, ax
je 0x47c37c
cmp ax, 8
je 0x47c307
lea ecx, [ebp - 0xf4]
call fcn.004719d0
push edi
call fcn.00588148
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 8
test esi, esi
je 0x47bf25
nop
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47c2fe
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47c2e0
jmp 0x47bf25
push dword [ebp - 0xec]
lea ecx, [ebp - 0x8c]
call fcn.0046d0a0
mov eax, dword [ebp - 0x88]
xor edx, edx
mov esi, dword [ebp - 0x8c]
mov dword [ebp - 0x30], eax
test eax, eax
je 0x47c37c
nop dword [eax]
movzx ecx, word [esi + edx*2]
lea ebx, [esi + edx*2]
mov eax, ebx
mov ebx, ecx
mov dword [ebp - 0x34], ebx
lea ebx, [esi + edx*2]
cmp ecx, 0x5c
je 0x47c361
movzx ecx, cx
nop dword [eax]
test cx, cx
je 0x47c37c
movzx ecx, word [eax + 2]
add eax, 2
cmp ecx, 0x5c
jne 0x47c350
sub eax, ebx
sar eax, 1
js 0x47c37c
add eax, edx
js 0x47c37c
lea edx, [eax + 1]
mov ecx, 0x2f
mov word [esi + eax*2], cx
cmp edx, dword [ebp - 0x30]
jb 0x47c330
lea ecx, [ebp - 0xf4]
mov byte [ebp - 4], 3
call fcn.004719d0
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x104]
push edx
xor eax, eax
push 6
push dword [ebp - 0x24]
mov dword [ebp - 0x104], eax
mov dword [ebp - 0xfc], eax
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov ebx, eax
test ebx, ebx
je 0x47c418
lea ecx, [ebp - 0x104]
call fcn.004719d0
push edi
call fcn.00588148
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 8
test esi, esi
je 0x47c3f7
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47c3f3
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47c3d5
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ax, word [ebp - 0x104]
test ax, ax
jne 0x47c429
mov byte [ebp - 0x29], al
jmp 0x47c48b
cmp ax, 0xb
je 0x47c47b
lea ecx, [ebp - 0x104]
call fcn.004719d0
push edi
call fcn.00588148
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 8
test esi, esi
je 0x47bf25
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47c472
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47c454
jmp 0x47bf25
cmp word [ebp - 0xfc], 0
mov byte [ebp - 0x29], 1
setne byte [ebp - 0x41]
lea ecx, [ebp - 0x104]
call fcn.004719d0
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x114]
push edx
xor eax, eax
push 0x15
push dword [ebp - 0x24]
mov dword [ebp - 0x114], eax
mov dword [ebp - 0x10c], eax
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov ebx, eax
test ebx, ebx
je 0x47c523
lea ecx, [ebp - 0x114]
call fcn.004719d0
push edi
call fcn.00588148
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 8
test esi, esi
je 0x47c502
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47c4fe
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47c4e0
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov ax, word [ebp - 0x114]
test ax, ax
jne 0x47c533
xor bl, bl
jmp 0x47c592
cmp ax, 0xb
je 0x47c587
lea ecx, [ebp - 0x114]
call fcn.004719d0
push edi
call fcn.00588148
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 8
test esi, esi
je 0x47bf25
nop
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47c57e
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47c560
jmp 0x47bf25
cmp word [ebp - 0x10c], 0
setne bl
lea ecx, [ebp - 0x114]
mov byte [ebp - 0x42], bl
mov byte [ebp - 0x11], bl
call fcn.004719d0
test bl, bl
je 0x47c5b6
xorps xmm0, xmm0
mov dword [ebp - 0x40], 0
movlpd qword [ebp - 0x5c], xmm0
cmp byte [ebp - 0x29], 0
jne 0x47c5cd
cmp byte [ebp - 0x40], 0
je 0x47c5cd
mov eax, dword [ebp - 0x48]
shr eax, 4
and al, 1
mov byte [ebp - 0x41], al
mov edx, dword [ebp - 0x30]
cmp edx, dword [ebp - 0x4c]
jbe 0x47c608
lea eax, [edx + 1]
mov ecx, 2
mul ecx
mov ecx, 0xffffffff
cmovb eax, ecx
push eax
call fcn.0058813f
add esp, 4
mov dword [ebp - 0x34], eax
push edi
call fcn.00588148
mov edi, dword [ebp - 0x34]
add esp, 4
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x54], edi
mov dword [ebp - 0x4c], edx
lea eax, [edx*2 + 2]
mov dword [ebp - 0x50], edx
push eax
push esi
push edi
call fcn.0058aed0
add esp, 0xc
cmp byte [ebp - 0x44], 0
je 0x47c792
cmp byte [ebp - 0x41], 0
xorps xmm0, xmm0
movlpd qword [ebp - 0x5c], xmm0
jne 0x47c792
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0xd4]
push edx
xor eax, eax
push 7
push dword [ebp - 0x24]
mov dword [ebp - 0xd4], eax
mov dword [ebp - 0xcc], eax
mov eax, dword [ecx]
push ecx
call dword [eax + 0x18]
mov dword [ebp - 0x34], eax
test eax, eax
je 0x47c6c8
lea ecx, [ebp - 0xd4]
call fcn.004719d0
push edi
call fcn.00588148
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 8
test esi, esi
je 0x47c6a6
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47c6a2
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47c684
push dword [ebp - 0x20]
call fcn.00588148
mov eax, dword [ebp - 0x34]
add esp, 4
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
cmp word [ebp - 0xd4], 0x15
je 0x47c71e
lea ecx, [ebp - 0xd4]
call fcn.004719d0
push edi
call fcn.00588148
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 8
test esi, esi
je 0x47bf25
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47c715
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47c6f7
jmp 0x47bf25
mov ecx, dword [ebp - 0xcc]
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x5c], ecx
or ecx, eax
mov dword [ebp - 0x58], eax
je 0x47c787
test bl, bl
je 0x47c787
lea ecx, [ebp - 0xd4]
call fcn.004719d0
push edi
call fcn.00588148
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 8
test esi, esi
je 0x47bf25
nop dword [eax]
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47c77e
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47c760
jmp 0x47bf25
lea ecx, [ebp - 0xd4]
call fcn.004719d0
lea ecx, [ebp - 0x20]
call fcn.00439780
push 0x40
call fcn.00587dd8
mov ebx, eax
add esp, 4
mov dword [ebp - 0x160], ebx
mov byte [ebp - 4], 5
mov eax, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x78]
mov dword [ebx], eax
mov eax, dword [ebp - 0x74]
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebx + 4], ecx
mov ecx, dword [ebp - 0x70]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0x64]
mov dword [ebx + 0xc], ecx
mov ecx, dword [ebp - 0x68]
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0x5c]
mov dword [ebx + 0x14], ecx
mov ecx, dword [ebp - 0x60]
mov dword [ebx + 0x20], eax
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x1c], ecx
inc eax
mov ecx, dword [ebp - 0x58]
mov dword [ebx + 0x24], ecx
mov ecx, 2
mul ecx
mov ecx, 0xffffffff
mov dword [ebx + 0x28], 0
cmovb eax, ecx
push eax
call fcn.0058813f
mov edx, eax
add esp, 4
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x28], edx
mov dword [ebx + 0x2c], eax
mov dword [ebx + 0x30], eax
lea ecx, [eax*2 + 2]
push ecx
push edi
push edx
call fcn.0058aed0
mov eax, dword [ebp - 0x48]
mov dword [ebx + 0x34], eax
mov al, byte [ebp - 0x44]
mov byte [ebx + 0x38], al
mov al, byte [ebp - 0x43]
mov byte [ebx + 0x39], al
mov al, byte [ebp - 0x11]
mov byte [ebx + 0x3a], al
mov al, byte [ebp - 0x41]
mov byte [ebx + 0x3b], al
mov al, byte [ebp - 0x40]
mov byte [ebx + 0x3c], al
mov al, byte [ebp - 0x3f]
mov byte [ebx + 0x3d], al
mov al, byte [ebp - 0x3e]
mov byte [ebx + 0x3e], al
mov al, byte [ebp - 0x3d]
mov byte [ebx + 0x3f], al
mov ecx, dword [ebp - 0x1c]
push edi
lea eax, [ecx + 1]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x20]
mov byte [ebp - 4], 2
mov dword [eax + ecx*4], ebx
call fcn.00588148
mov edx, dword [ebp - 0x24]
add esp, 0x10
inc edx
jmp 0x47bbee
lea ecx, [ebp - 0x15c]
call fcn.00474750
lea ecx, [ebp - 0x198]
mov byte [ebp - 4], 6
call fcn.00474750
mov edi, dword [ebp + 8]
mov byte [ebp - 4], 7
mov eax, dword [edi + 0x1c]
mov ecx, dword [edi + 0x20]
mov dword [ebp - 0x12c], eax
mov al, byte [edi + 0x15]
mov byte [ebp - 0x141], al
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x128], ecx
mov ecx, 0x400
cmp eax, ecx
cmova eax, ecx
lea ecx, [edi - 0xc]
mov dword [ebp - 0x13c], eax
mov al, byte [edi + 0x14]
mov byte [ebp - 0x140], al
mov al, byte [edi + 0x9a]
mov byte [ebp - 0x13f], al
mov byte [ebp - 0x17b], al
lea eax, [ebp - 0x15c]
push eax
call fcn.0047b2d0
mov ebx, eax
test ebx, ebx
je 0x47c973
lea ecx, [ebp - 0x198]
call fcn.00474810
lea ecx, [ebp - 0x15c]
call fcn.00474810
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 4
test esi, esi
je 0x47c952
nop dword [eax + eax]
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47c94e
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47c930
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
lea eax, [ebp - 0x198]
push eax
lea ecx, [edi - 0xc]
call fcn.0047b000
mov ebx, eax
test ebx, ebx
je 0x47c9f3
lea ecx, [ebp - 0x198]
call fcn.00474810
lea ecx, [ebp - 0x15c]
call fcn.00474810
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 4
test esi, esi
je 0x47c9d2
nop
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47c9ce
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47c9b0
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov dword [ebp - 0x80], 0
mov ecx, dword [ebp + 0x14]
lea edx, [ebp - 0x80]
push edx
mov byte [ebp - 4], 8
push 0x5c1fc4
mov eax, dword [ecx]
push ecx
call dword [eax]
mov edx, dword [ebp - 0x138]
xor cl, cl
mov byte [ebp - 0x142], cl
test edx, edx
je 0x47ca4a
mov eax, dword [ebp - 0x130]
lea eax, [eax*2 + 2]
push eax
push 0
push edx
call fcn.0058ad30
mov cl, byte [ebp - 0x142]
add esp, 0xc
mov dword [ebp - 0x134], 0
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x47cb91
mov dword [ebp - 0x24], 0
lea edx, [ebp - 0x24]
mov byte [ebp - 4], 9
mov ecx, dword [eax]
push edx
lea edx, [ebp - 0x34]
push edx
push eax
call dword [ecx + 0xc]
mov ebx, eax
test ebx, ebx
je 0x47cb2b
mov ecx, dword [ebp - 0x24]
test ecx, ecx
je 0x47caa8
push ecx
call dword [sym.imp.OLEAUT32.dll_VariantInit]
add eax, eax
push eax
push 0
push dword [ebp - 0x24]
call fcn.0058ad30
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
add esp, 0xc
push dword [ebp - 0x24]
call edi
xor ecx, ecx
mov dword [ebp - 0x24], ecx
jmp 0x47caae
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push ecx
call edi
mov byte [ebp - 4], 0xa
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x47cac2
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x198]
call fcn.00474810
lea ecx, [ebp - 0x15c]
call fcn.00474810
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 4
test esi, esi
je 0x47cb0a
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47cb06
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47cae8
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10
mov eax, dword [ebp - 0x34]
test eax, eax
setne byte [ebp - 0x142]
test eax, eax
je 0x47cb4e
mov eax, dword [ebp - 0x24]
test eax, eax
je 0x47cb51
push eax
lea ecx, [ebp - 0x138]
call fcn.0046d0a0
mov eax, dword [ebp - 0x24]
mov byte [ebp - 4], 8
test eax, eax
je 0x47cb82
push eax
call dword [sym.imp.OLEAUT32.dll_VariantInit]
add eax, eax
push eax
push 0
push dword [ebp - 0x24]
call fcn.0058ad30
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
add esp, 0xc
push dword [ebp - 0x24]
call edi
xor eax, eax
mov dword [ebp - 0x24], eax
jmp 0x47cb88
mov edi, dword [sym.imp.OLEAUT32.dll_SysStringLen]
push eax
call edi
mov cl, byte [ebp - 0x142]
mov eax, dword [ebp + 8]
xor bl, bl
mov bh, byte [eax + 0x87]
lea edi, [eax + 0x215]
test cl, cl
jne 0x47cbcf
cmp byte [edi], cl
je 0x47cc01
add eax, 0x218
mov byte [ebp - 0x142], 1
push eax
lea ecx, [ebp - 0x138]
call fcn.0046d120
mov cl, byte [ebp - 0x142]
test cl, cl
je 0x47cc01
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 8]
add eax, 0x89
mov bh, 1
cmp byte [edx + 0x88], 0
cmove eax, edi
mov bl, byte [eax]
test bl, bl
je 0x47cc01
lea eax, [ebp - 0x138]
mov byte [ebp - 0x17e], cl
push eax
lea ecx, [ebp - 0x174]
call fcn.0046d120
xor ecx, ecx
movzx eax, bh
cmp dword [ebp + 0x10], 2
mov dword [ebp - 0xc4], 0
cmovae ecx, eax
mov dword [ebp - 0xc0], 0
mov eax, dword [ebp + 8]
mov dword [ebp + 0x10], ecx
mov word [ebp - 0xbc], 0
mov dword [ebp - 0xb8], 0xffffffff
mov edi, dword [eax + 0x34]
mov eax, 5
cmp edi, 0xffffffff
mov dword [ebp - 0xb4], 0xffffffff
mov dword [ebp - 0xb0], 0xffffffff
cmove edi, eax
mov dword [ebp - 0xac], 0xffffffff
mov dword [ebp - 0xa8], 0xffffffff
mov dword [ebp - 0xa4], 0x1000100
mov dword [ebp - 0xa0], 0
mov byte [ebp - 0x9c], 1
mov dword [ebp - 0x98], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x90], 0
lea ecx, [ebp - 0x98]
mov byte [ebp - 4], 0xb
call fcn.00439780
mov ecx, dword [ebp - 0x94]
lea eax, [ecx + 1]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x98]
mov dword [eax + ecx*4], 0xb
mov al, byte [ebp - 0x25]
mov ecx, dword [ebp + 8]
mov byte [ebp - 4], 0xc
mov byte [ebp - 0xa0], al
mov al, byte [ebp - 0x26]
cmp byte [ecx + 0x87], 0
mov byte [ebp - 0x9f], al
mov al, byte [ebp - 0x27]
mov byte [ebp - 0x9e], al
mov al, byte [ebp - 0x28]
mov byte [ebp - 0x9d], al
lea eax, [ebp - 0x15c]
mov dword [ebp - 0xc4], eax
jne 0x47cd24
test bl, bl
jne 0x47cd24
mov dword [ebp - 0xc0], 0
jmp 0x47cd30
lea eax, [ebp - 0x198]
mov dword [ebp - 0xc0], eax
test edi, edi
je 0x47cd4a
cmp byte [ecx + 0x70], 0
je 0x47cd4a
cmp byte [ebp - 0x143], 0
mov byte [ebp - 0xbc], 1
je 0x47cd51
mov byte [ebp - 0xbc], 0
mov eax, dword [ecx + 0x38]
lea ebx, [ecx + 0xa0]
mov dword [ebp - 0xb8], eax
cmp edi, 8
mov edi, dword [ecx + 0x9c]
lea eax, [ecx + 0xac]
push eax
lea ecx, [ebp - 0x98]
setge byte [ebp - 0xbb]
call fcn.00474540
cmp edi, 0x8fc
jae 0x47cd9a
push ebx
push 0xa
lea ecx, [ebp - 0xc4]
call fcn.0047aee0
jmp 0x47cda2
cmp edi, 0x962
jae 0x47cdb0
push ebx
push 0xb
lea ecx, [ebp - 0xc4]
call fcn.0047aee0
mov ebx, dword [ebp + 8]
mov eax, dword [ebp + 0x10]
mov byte [ebp - 0x9c], al
mov edx, dword [ebp - 0x38]
mov eax, dword [ebx + 0x74]
mov ecx, dword [ebx + 0x78]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebx + 0x7c]
mov dword [ebp - 0xac], eax
mov al, byte [ebx + 0x85]
mov byte [ebp - 0xa4], al
mov al, byte [ebx + 0x86]
mov byte [ebp - 0xa3], al
mov al, byte [ebx + 0x9b]
mov byte [ebp - 0xa2], al
mov al, byte [ebx + 0x9a]
mov byte [ebp - 0xa1], al
lea eax, [ebp - 0xc4]
push eax
push dword [ebp + 0x14]
mov dword [ebp - 0xb0], ecx
lea eax, [ebp - 0x20]
mov ecx, dword [ebx + 0x80]
push dword [ebp + 0xc]
mov dword [ebp - 0xa8], ecx
mov ecx, dword [ebx + 0xbc]
push eax
call fcn.00486f20
add esp, 0x10
mov ebx, eax
push dword [ebp - 0x98]
call fcn.00588148
add esp, 4
mov byte [ebp - 4], 0xd
mov eax, dword [ebp - 0x80]
test eax, eax
je 0x47ce56
mov ecx, dword [eax]
push eax
call dword [ecx + 8]
lea ecx, [ebp - 0x198]
call fcn.00474810
lea ecx, [ebp - 0x15c]
call fcn.00474810
push esi
call fcn.00588148
mov esi, dword [ebp - 0x1c]
add esp, 4
test esi, esi
je 0x47cea2
nop dword [eax]
mov eax, dword [ebp - 0x20]
dec esi
mov edi, dword [eax + esi*4]
test edi, edi
je 0x47ce9e
push dword [edi + 0x28]
call fcn.00588148
push 0x40
push edi
call fcn.00587dca
add esp, 0xc
test esi, esi
jne 0x47ce80
push dword [ebp - 0x20]
call fcn.00588148
add esp, 4
mov eax, ebx
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10