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

Disassembly:
push 0xffffffffffffffff
push 0x4e30c2
mov eax, dword fs:[0]
push eax
sub esp, 0x104
mov eax, dword [0x50f130]
xor eax, esp
mov dword [esp + 0x100], eax
push ebx
push ebp
push esi
push edi
mov eax, dword [0x50f130]
xor eax, esp
push eax
lea eax, [esp + 0x118]
mov dword fs:[0], eax
lea eax, [esp + 0x9c]
mov esi, ecx
xor ebx, ebx
push eax
mov dword [esp + 0x48], esi
mov dword [esp + 0x24], ebx
mov dword [esp + 0x20], ebx
call fcn.00470b00
mov dword [esp + 0x120], ebx
push 9
mov ebp, 0xf
push str.fonts.xml
lea ecx, [esp + 0x30]
mov dword [esp + 0x48], ebp
mov dword [esp + 0x44], ebx
mov byte [esp + 0x34], bl
call fcn.00405e70
lea ecx, [esp + 0x1c]
push ecx
lea edx, [esp + 0x24]
push edx
push esi
lea eax, [esp + 0x34]
mov byte [esp + 0x12c], 1
call fcn.00476080
test al, al
sete byte [esp + 0x1b]
mov byte [esp + 0x120], bl
cmp dword [esp + 0x40], 0x10
jb 0x4766de
mov eax, dword [esp + 0x2c]
push eax
call fcn.004b84d9
add esp, 4
cmp byte [esp + 0x1b], bl
jne 0x476a0b
mov edx, dword [esp + 0x1c]
lea ecx, [esp + 0x9c]
push ecx
mov ecx, dword [esp + 0x24]
call fcn.00471740
test al, al
je 0x476a0b
mov ecx, str.fonts
lea eax, [esp + 0x9c]
call fcn.00470280
cmp eax, ebx
je 0x476a0b
mov ecx, str.font
call fcn.00470280
cmp eax, ebx
mov dword [esp + 0x1c], eax
je 0x476a0b
jmp 0x476744
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x98], ebp
mov dword [esp + 0x94], ebx
mov byte [esp + 0x84], bl
mov dword [esp + 0x7c], 7
mov dword [esp + 0x78], ebx
mov word [esp + 0x68], bx
lea edi, [eax + 0x44]
mov esi, 0x4f31a0
mov byte [esp + 0x120], 3
call fcn.004716f0
cmp eax, ebx
je 0x476793
cmp dword [eax + 0x48], 0x10
jb 0x47678e
mov esi, dword [eax + 0x34]
jmp 0x476795
lea esi, [eax + 0x34]
jmp 0x476795
xor esi, esi
mov eax, esi
lea edx, [eax + 1]
lea ebx, [ebx]
mov cl, byte [eax]
add eax, 1
cmp cl, bl
jne 0x4767a0
sub eax, edx
push eax
push esi
lea ecx, [esp + 0x88]
call fcn.00405e70
mov esi, str.fontface
call fcn.004716f0
cmp eax, ebx
je 0x4767d7
cmp dword [eax + 0x48], 0x10
jb 0x4767d2
mov ecx, dword [eax + 0x34]
jmp 0x4767d9
lea ecx, [eax + 0x34]
jmp 0x4767d9
xor ecx, ecx
mov eax, ecx
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
lea esi, [eax + 1]
lea ebx, [ebx]
mov dl, byte [eax]
add eax, 1
cmp dl, bl
jne 0x4767f0
sub eax, esi
push eax
push ecx
lea ecx, [esp + 0x30]
call fcn.00405e70
lea edx, [esp + 0x28]
push edx
lea ebx, [esp + 0x4c]
mov byte [esp + 0x124], 4
call fcn.0047cec0
add esp, 4
push 0xffffffffffffffff
xor ebx, ebx
push ebx
lea ecx, [esp + 0x6c]
mov byte [esp + 0x128], 5
call fcn.00402090
cmp dword [esp + 0x60], 8
jb 0x476849
mov eax, dword [esp + 0x4c]
push eax
call fcn.004b84d9
add esp, 4
mov byte [esp + 0x120], 3
cmp dword [esp + 0x40], 0x10
mov dword [esp + 0x60], 7
mov dword [esp + 0x5c], ebx
mov word [esp + 0x4c], bx
jb 0x476876
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.004b84d9
add esp, 4
mov esi, str.fontsize
mov dword [esp + 0x40], ebp
mov dword [esp + 0x3c], ebx
mov byte [esp + 0x2c], bl
call fcn.004716f0
cmp eax, ebx
je 0x4768b1
cmp dword [eax + 0x48], 0x10
jb 0x47689b
mov eax, dword [eax + 0x34]
jmp 0x47689e
add eax, 0x34
cmp eax, ebx
je 0x4768b1
push eax
call fcn.004baca8
add esp, 4
mov dword [esp + 0x24], eax
jmp 0x4768b5
mov dword [esp + 0x24], ebx
mov esi, str.underline
call fcn.004716f0
cmp eax, ebx
je 0x4768e2
cmp dword [eax + 0x48], 0x10
jb 0x4768ce
mov eax, dword [eax + 0x34]
jmp 0x4768d1
add eax, 0x34
cmp eax, ebx
je 0x4768e2
push eax
call fcn.004baca8
add esp, 4
mov ebp, eax
jmp 0x4768e4
xor ebp, ebp
mov esi, str.bold
call fcn.004716f0
cmp eax, ebx
je 0x47690f
cmp dword [eax + 0x48], 0x10
jb 0x4768fd
mov eax, dword [eax + 0x34]
jmp 0x476900
add eax, 0x34
cmp eax, ebx
je 0x47690f
push eax
call fcn.004baca8
add esp, 4
mov ebx, eax
mov esi, str.italic
call fcn.004716f0
xor esi, esi
cmp eax, esi
je 0x47693e
cmp dword [eax + 0x48], 0x10
jb 0x47692a
mov eax, dword [eax + 0x34]
jmp 0x47692d
add eax, 0x34
cmp eax, esi
je 0x47693e
push eax
call fcn.004baca8
add esp, 4
mov edi, eax
jmp 0x476940
xor edi, edi
cmp dword [esp + 0x94], esi
je 0x476991
cmp dword [esp + 0x78], esi
je 0x476991
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x80]
push edx
add ecx, 0x38
call fcn.00477ca0
mov edx, dword [esp + 0x24]
mov esi, eax
xor eax, eax
test edi, edi
setne al
xor ecx, ecx
test ebp, ebp
setne cl
push eax
push ecx
xor ecx, ecx
test ebx, ebx
setne cl
push edx
lea edx, [esp + 0x70]
call fcn.00476580
add esp, 0xc
mov dword [esi], eax
xor esi, esi
mov eax, dword [esp + 0x1c]
mov ecx, str.font
call fcn.004702c0
cmp dword [esp + 0x7c], 8
mov edi, eax
mov dword [esp + 0x1c], edi
jb 0x4769b9
mov eax, dword [esp + 0x68]
push eax
call fcn.004b84d9
add esp, 4
cmp dword [esp + 0x98], 0x10
mov dword [esp + 0x7c], 7
mov dword [esp + 0x78], esi
mov word [esp + 0x68], si
jb 0x4769e4
mov ecx, dword [esp + 0x84]
push ecx
call fcn.004b84d9
add esp, 4
xor ebx, ebx
cmp edi, esi
mov dword [esp + 0x98], 0xf
mov dword [esp + 0x94], esi
mov byte [esp + 0x84], 0
lea ebp, [ebx + 0xf]
jne 0x476740
mov eax, dword [esp + 0x20]
cmp eax, ebx
je 0x476a1c
push eax
call fcn.004b88f2
add esp, 4
mov dword [esp + 0x120], 0xffffffff
cmp dword [esp + 0x100], 0x10
mov dword [esp + 0x9c], vtable.TiXmlDocument.0
jb 0x476a4c
mov edx, dword [esp + 0xec]
push edx
call fcn.004b84d9
add esp, 4
lea ecx, [esp + 0x9c]
mov dword [esp + 0x100], ebp
mov dword [esp + 0xfc], ebx
mov byte [esp + 0xec], bl
call fcn.00470090
xor al, al
mov ecx, dword [esp + 0x118]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov ecx, dword [esp + 0x100]
xor ecx, esp
call fcn.004b84de
add esp, 0x110
ret