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

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x5855d4
mov eax, dword fs:[0]
push eax
sub esp, 0xfc
mov eax, dword [0x5f3008]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov edi, ecx
mov eax, dword [ebp + 8]
lea ebx, [edi + 0x2bc]
mov ecx, dword [sym.imp.GDI32.dll_DeleteObject]
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x9c], eax
mov eax, dword [0x6167e8]
mov dword [ebp - 0xb0], eax
xor al, al
mov byte [ebp - 0x9d], al
xor esi, esi
mov byte [ebp - 0x9e], al
mov byte [ebp - 0x9f], al
mov byte [ebp - 0xa0], al
mov byte [ebp - 0xa1], al
mov byte [ebp - 0xa2], al
mov dword [ebp - 0xac], ecx
jmp 0x547726
mov ecx, dword [ebp - 0xac]
cmp esi, 0xa
jae 0x54882b
mov eax, dword [ebx - 0x78]
mov byte [ebp + esi - 0xc8], 0
test eax, eax
je 0x54775d
push eax
call ecx
mov ecx, dword [ebp - 0xac]
mov dword [ebx - 0x78], 0
mov byte [ebp - 0x9d], 1
mov byte [ebp + esi - 0xc8], 1
mov eax, dword [ebx]
mov byte [ebp + esi - 0xd4], 0
test eax, eax
je 0x547783
push eax
call ecx
mov dword [ebx], 0
mov byte [ebp - 0x9e], 1
mov byte [ebp + esi - 0xd4], 1
mov eax, dword [ebx + 0x28]
mov byte [ebp + esi - 0xe0], 0
test eax, eax
je 0x5477af
push eax
call dword [ebp - 0xac]
mov dword [ebx + 0x28], 0
mov byte [ebp - 0x9f], 1
mov byte [ebp + esi - 0xe0], 1
mov eax, dword [ebx + 0x50]
mov byte [ebp + esi - 0xec], 0
test eax, eax
je 0x5477db
push eax
call dword [ebp - 0xac]
mov dword [ebx + 0x50], 0
mov byte [ebp - 0xa0], 1
mov byte [ebp + esi - 0xec], 1
mov eax, dword [ebx + 0xc8]
mov byte [ebp + esi - 0xf8], 0
test eax, eax
je 0x54780d
push eax
call dword [ebp - 0xac]
mov dword [ebx + 0xc8], 0
mov byte [ebp - 0xa1], 1
mov byte [ebp + esi - 0xf8], 1
mov eax, dword [ebx + 0xf0]
mov byte [ebp + esi - 0x104], 0
test eax, eax
je 0x54783f
push eax
call dword [ebp - 0xac]
mov dword [ebx + 0xf0], 0
mov byte [ebp - 0xa2], 1
mov byte [ebp + esi - 0x104], 1
inc esi
add ebx, 4
cmp esi, 0xa
jl 0x547720
mov ecx, dword [edi + 0x434]
test ecx, ecx
je 0x547866
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [edi + 0x434], 0
mov ecx, dword [edi + 0x430]
test ecx, ecx
je 0x547880
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [edi + 0x430], 0
mov ecx, dword [edi + 0x42c]
test ecx, ecx
je 0x54789a
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [edi + 0x42c], 0
xor ebx, ebx
lea esi, [edi + 0x5bc]
mov ecx, dword [esi + 0x28]
test ecx, ecx
je 0x5478b8
mov byte [ebp - 0x9d], 1
mov byte [ebp + ebx - 0xc8], 1
cmp dword [esi + 0xa0], 0
je 0x5478d0
mov byte [ebp - 0x9f], 1
mov byte [ebp + ebx - 0xe0], 1
cmp dword [esi + 0x208], 0
je 0x5478e8
mov byte [ebp - 0x9e], 1
mov byte [ebp + ebx - 0xd4], 1
cmp dword [esi + 0x280], 0
je 0x547900
mov byte [ebp - 0xa0], 1
mov byte [ebp + ebx - 0xec], 1
cmp dword [esi + 0x3e8], 0
je 0x547918
mov byte [ebp - 0xa1], 1
mov byte [ebp + ebx - 0xf8], 1
cmp dword [esi + 0x460], 0
je 0x547930
mov byte [ebp - 0xa2], 1
mov byte [ebp + ebx - 0x104], 1
test ecx, ecx
je 0x547941
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x28], 0
mov ecx, dword [esi]
test ecx, ecx
je 0x547953
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi], 0
mov ecx, dword [esi - 0x28]
test ecx, ecx
je 0x547967
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi - 0x28], 0
mov ecx, dword [esi + 0xa0]
test ecx, ecx
je 0x547981
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0xa0], 0
mov ecx, dword [esi + 0x78]
test ecx, ecx
je 0x547995
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x78], 0
mov ecx, dword [esi + 0x50]
test ecx, ecx
je 0x5479a9
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x50], 0
mov ecx, dword [esi + 0x208]
test ecx, ecx
je 0x5479c3
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x208], 0
mov ecx, dword [esi + 0x1e0]
test ecx, ecx
je 0x5479dd
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x1e0], 0
mov ecx, dword [esi + 0x1b8]
test ecx, ecx
je 0x5479f7
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x1b8], 0
mov ecx, dword [esi + 0x280]
test ecx, ecx
je 0x547a11
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x280], 0
mov ecx, dword [esi + 0x258]
test ecx, ecx
je 0x547a2b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x258], 0
mov ecx, dword [esi + 0x230]
test ecx, ecx
je 0x547a45
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x230], 0
mov ecx, dword [esi + 0x3e8]
test ecx, ecx
je 0x547a5f
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x3e8], 0
mov ecx, dword [esi + 0x3c0]
test ecx, ecx
je 0x547a79
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x3c0], 0
mov ecx, dword [esi + 0x398]
test ecx, ecx
je 0x547a93
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x398], 0
mov ecx, dword [esi + 0x460]
test ecx, ecx
je 0x547aad
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x460], 0
mov ecx, dword [esi + 0x438]
test ecx, ecx
je 0x547ac7
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x438], 0
mov ecx, dword [esi + 0x410]
test ecx, ecx
je 0x547ae1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [esi + 0x410], 0
inc ebx
add esi, 4
cmp ebx, 0xa
jl 0x5478a2
lea eax, [edi + 0x64]
push eax
lea eax, [ebp - 0x90]
push 0x20
push eax
call fcn.00565fee
mov al, byte [edi + 0x62]
add esp, 0xc
mov byte [ebp - 0xb1], al
mov eax, dword [edi + 0x58]
mov dword [ebp - 0xbc], eax
mov ax, word [ebp + 0x14]
push dword [ebp - 0x9c]
mov word [edi + 0xa86], ax
lea eax, [edi + 0xa4]
push 0x20
push eax
call fcn.00565fee
mov ebx, 3
add esp, 8
mov edx, ebx
lea ecx, [ebx + 3]
call fcn.00410cf0
add esp, 4
test al, al
je 0x547b56
cmp byte [edi + 0x3d4], 0
je 0x547b84
push ecx
mov edx, ebx
mov ecx, 6
call fcn.00410cf0
add esp, 4
test al, al
jne 0x547dcd
cmp byte [edi + 0x3d4], al
je 0x547b84
cmp word [edi + 0xa48], 0x40
jne 0x547dcd
mov eax, dword [ebp + 0x18]
mov esi, 0x2bc
cmp al, byte [edi + 0xad9]
mov ebx, dword [ebp - 0xac]
mov dword [ebp - 0xb8], eax
mov eax, dword [sym.imp.GDI32.dll_CreateFontIndirectW]
mov dword [ebp - 0xb0], eax
je 0x547c18
push dword [edi + 0x1f0]
call ebx
lea eax, [edi + 0x170]
push eax
lea eax, [edi + 0x64]
push 0x20
push eax
call fcn.00565fee
add esp, 0xc
mov eax, esi
cmp byte [ebp - 0xb8], 0
mov ecx, 0x190
cmove eax, ecx
mov dword [edi + 0x58], eax
movsx eax, word [edi + 0xa8a]
cmp eax, 4
ja case.default.0x547be8
jmp dword [eax*4 + 0x548830]
mov al, 5
jmp 0x547c05
mov al, 4
jmp 0x547c05
xor al, al
jmp 0x547c05
mov al, 1
jmp 0x547c05
mov al, 3
jmp 0x547c05
mov al, 2
mov byte [edi + 0x62], al
lea eax, [edi + 0x48]
push eax
call dword [ebp - 0xb0]
mov dword [edi + 0x1f0], eax
push dword [edi + 0x1cc]
call ebx
mov eax, dword [edi + 0x1d8]
test eax, eax
je 0x547c37
push eax
call ebx
mov dword [edi + 0x1d8], 0
push dword [ebp - 0x9c]
lea eax, [edi + 0x64]
push 0x20
push eax
call fcn.00565fee
mov eax, dword [ebp - 0xb8]
add esp, 0xc
test al, al
mov byte [edi + 0xad9], al
mov eax, 0x190
cmove esi, eax
mov dword [edi + 0x58], esi
movsx eax, word [edi + 0xa86]
cmp eax, 4
ja case.default.0x547c70
jmp dword [eax*4 + 0x548844]
mov al, 5
jmp 0x547c8d
mov al, 4
jmp 0x547c8d
xor al, al
jmp 0x547c8d
mov al, 1
jmp 0x547c8d
mov al, 3
jmp 0x547c8d
mov al, 2
mov ebx, dword [ebp - 0xb0]
lea esi, [edi + 0x48]
push esi
mov byte [edi + 0x62], al
call ebx
cmp word [edi + 0x64], 0x40
lea ecx, [edi + 0x64]
mov dword [edi + 0x1cc], eax
jne 0x547cd5
lea eax, [edi + 0xa6]
mov dword [edi + 0x50], 0
push eax
push 0x1f
push ecx
call fcn.00565fee
add esp, 0xc
push esi
call ebx
mov dword [edi + 0x1d8], eax
mov dword [edi + 0x50], 0xa8c
cmp byte [ebp - 0x9d], 0
je 0x547cf8
xor esi, esi
cmp byte [ebp + esi - 0xc8], 0
je 0x547cf2
push esi
mov ecx, edi
call fcn.0054a130
inc esi
cmp esi, 0xa
jl 0x547ce0
cmp byte [ebp - 0x9e], 0
mov ebx, dword [ebp - 0xa8]
je 0x547d29
xor esi, esi
nop dword [eax]
cmp byte [ebp + esi - 0xd4], 0
je 0x547d23
push esi
push ebx
mov ecx, edi
call fcn.0054beb0
inc esi
cmp esi, 0xa
jl 0x547d10
cmp byte [ebp - 0x9f], 0
je 0x547d4c
xor esi, esi
cmp byte [ebp + esi - 0xe0], 0
je 0x547d46
push esi
mov ecx, edi
call fcn.0054aaf0
inc esi
cmp esi, 0xa
jl 0x547d34
cmp byte [ebp - 0xa0], 0
je 0x547d79
xor esi, esi
nop word [eax + eax]
cmp byte [ebp + esi - 0xec], 0
je 0x547d73
push esi
push ebx
mov ecx, edi
call fcn.0054c460
inc esi
cmp esi, 0xa
jl 0x547d60
cmp byte [ebp - 0xa1], 0
je 0x547d9c
xor esi, esi
cmp byte [ebp + esi - 0xf8], 0
je 0x547d96
push esi
mov ecx, edi
call fcn.0054a650
inc esi
cmp esi, 0xa
jl 0x547d84
cmp byte [ebp - 0xa2], 0
je 0x5487dd
xor esi, esi
nop dword [eax + eax]
cmp byte [ebp + esi - 0x104], 0
je 0x547dc2
push esi
mov ecx, edi
call fcn.0054b030
inc esi
cmp esi, 0xa
jl 0x547db0
jmp 0x5487dd
mov eax, dword [edi + 0xa44]
lea edx, [ebp - 0x98]
push edx
push eax
mov ecx, dword [eax]
call dword [ecx + 0x44]
mov ebx, dword [ebp + 0x18]
cmp bl, byte [edi + 0xad9]
je 0x5480de
movzx ecx, word [edi + 0x170]
xor eax, eax
cmp ecx, 0x40
sete al
lea eax, [eax*2 + 0x170]
add eax, edi
push eax
xor eax, eax
cmp ecx, 0x40
setne al
add eax, 0x1f
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00565fee
add esp, 0xc
mov byte [edi + 0xad9], bl
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x50]
push eax
push ebx
push dword [ebp - 0x98]
call fcn.00544c00
movsd xmm0, qword [edi + 0xe8]
lea edx, [ebp - 0x94]
mulsd xmm0, qword [0x5ea650]
mov ebx, dword [ebp - 0xb0]
mov eax, dword [edi + 0xa44]
push edx
push str.ja_jp
mulsd xmm0, qword [ebx + 0x30]
lea edx, [ebp - 0x50]
mov ecx, dword [eax]
push ecx
divsd xmm0, qword [0x5ea630]
divsd xmm0, qword [ebx + 0x20]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push 5
push 0
push dword [ebp - 0xac]
push 0
push edx
push eax
call dword [ecx + 0x3c]
movzx esi, word [edi + 0xa48]
mov eax, 2
mov ecx, dword [ebp - 0x94]
cmp esi, 0x40
mov dword [ebp - 0xa8], 0
cmovne eax, dword [ebp - 0xa8]
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x18]
mov ecx, dword [ebp - 0x94]
cmp esi, 0x40
mov eax, 3
mov dword [ebp - 0xa8], 0
cmovne eax, dword [ebp - 0xa8]
push eax
mov edx, dword [ecx]
push ecx
call dword [edx + 0x1c]
push 0x586710
push 0x18
call fcn.00560ada
mov esi, eax
add esp, 8
mov dword [ebp - 0xa8], esi
lea eax, [edi + 0x498]
mov dword [ebp - 0x9c], eax
test esi, esi
je 0x547f48
mov dword [esi + 4], 0
mov dword [esi], vtable.FlowLayoutSource.0
mov dword [esi + 8], 0x43960000
mov dword [esi + 0xc], 0x43960000
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 0
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [ebp - 0x9c]
jmp 0x547f4a
xor esi, esi
mov ecx, dword [eax]
test ecx, ecx
je 0x547f62
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x9c]
mov dword [eax], 0
push 0x586710
push 0x40
mov dword [eax], esi
call fcn.00560ada
mov esi, eax
add esp, 8
mov dword [ebp - 0xa8], esi
test esi, esi
je 0x547fbb
mov edx, dword [edi + 0xa44]
push ecx
mov ecx, esp
mov dword [ecx], edx
test edx, edx
je 0x547f94
mov eax, dword [edx]
push edx
call dword [eax + 4]
mov ecx, esi
call fcn.00513d60
mov esi, eax
lea eax, [edi + 0x49c]
mov dword [ebp - 0x9c], eax
test esi, esi
je 0x547fc9
mov ecx, dword [esi]
push esi
call dword [ecx + 4]
mov eax, dword [ebp - 0x9c]
jmp 0x547fc9
lea eax, [edi + 0x49c]
xor esi, esi
mov dword [ebp - 0x9c], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x547fe1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x9c]
mov dword [eax], 0
push 0x586710
push 0x228
mov dword [eax], esi
call fcn.00560ada
mov esi, eax
add esp, 8
mov dword [ebp - 0xa8], esi
mov dword [ebp - 4], 0
test esi, esi
je 0x548028
mov ecx, dword [edi + 0xa44]
push ecx
mov eax, esp
mov dword [eax], ecx
test ecx, ecx
je 0x54801d
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov ecx, esi
call fcn.00513ef0
mov esi, eax
jmp 0x54802a
xor esi, esi
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x54803b
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [edi + 0x4a0]
test ecx, ecx
je 0x54804b
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [edi + 0x4a0], esi
mov ecx, dword [edi + 0x498]
test ecx, ecx
je 0x548824
cmp dword [edi + 0x49c], 0
je 0x548824
test esi, esi
je 0x548824
mov dword [esi + 8], ecx
mov ecx, dword [edi + 0x4a0]
mov eax, dword [edi + 0x49c]
push ecx
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [ebp - 0x94]
mov dword [eax], ecx
test ecx, ecx
je 0x54809b
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov ecx, dword [edi + 0x4a0]
xor edx, edx
call fcn.0043a8d0
test eax, eax
jne 0x548806
mov ecx, dword [edi + 0x4a0]
mov al, byte [edi + 0x3d5]
mov byte [ecx + 0xf1], al
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x5480e4
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x94], 0
jmp 0x5480e4
mov ebx, dword [ebp - 0xb0]
movzx ecx, word [edi + 0xa4]
lea eax, [edi + 0xa4]
cmp ecx, 0x40
jne 0x5480fc
lea eax, [edi + 0xa6]
push eax
xor eax, eax
cmp ecx, 0x40
setne al
add eax, 0x1f
push eax
lea eax, [ebp - 0x50]
push eax
call fcn.00565fee
mov eax, dword [ebp + 0x18]
lea ecx, [ebp - 0xac]
add esp, 0xc
mov byte [edi + 0xad9], al
push ecx
lea ecx, [ebp - 0x50]
push ecx
push eax
push dword [ebp - 0x98]
call fcn.00544c00
movsd xmm0, qword [edi + 0xe8]
lea edx, [ebp - 0x94]
mulsd xmm0, qword [0x5ea650]
mov ecx, dword [edi + 0xa44]
push edx
push str.ja_jp
push ecx
mulsd xmm0, qword [ebx + 0x30]
lea edx, [ebp - 0x50]
mov eax, dword [ecx]
divsd xmm0, qword [0x5ea630]
divsd xmm0, qword [ebx + 0x20]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push 5
push 0
push dword [ebp - 0xac]
push 0
push edx
push ecx
call dword [eax + 0x3c]
movzx esi, word [edi + 0xa48]
xor eax, eax
cmp esi, 0x40
mov edx, 2
cmovne edx, eax
mov eax, dword [ebp - 0x94]
push edx
push eax
mov dword [ebp - 0xa8], edx
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 0x94]
cmp esi, 0x40
mov edx, 3
mov esi, 0
cmovne edx, esi
push edx
mov ecx, dword [eax]
push eax
call dword [ecx + 0x1c]
push 0x586710
push 0x18
call fcn.00560ada
mov esi, eax
add esp, 8
mov dword [ebp - 0xb0], esi
lea eax, [edi + 0x42c]
mov dword [ebp - 0x9c], eax
test esi, esi
je 0x54822b
mov dword [esi + 4], 0
mov dword [esi], vtable.FlowLayoutSource.0
mov dword [esi + 8], 0x43960000
mov dword [esi + 0xc], 0x43960000
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 0
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [ebp - 0x9c]
jmp 0x54822d
xor esi, esi
mov ecx, dword [eax]
test ecx, ecx
je 0x548245
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x9c]
mov dword [eax], 0
push 0x586710
push 0x40
mov dword [eax], esi
call fcn.00560ada
mov esi, eax
add esp, 8
mov dword [ebp - 0xb0], esi
test esi, esi
je 0x54829e
mov edx, dword [edi + 0xa44]
push ecx
mov ecx, esp
mov dword [ecx], edx
test edx, edx
je 0x548277
mov eax, dword [edx]
push edx
call dword [eax + 4]
mov ecx, esi
call fcn.00513d60
mov esi, eax
lea eax, [edi + 0x430]
mov dword [ebp - 0x9c], eax
test esi, esi
je 0x5482ac
mov ecx, dword [esi]
push esi
call dword [ecx + 4]
mov eax, dword [ebp - 0x9c]
jmp 0x5482ac
lea eax, [edi + 0x430]
xor esi, esi
mov dword [ebp - 0x9c], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x5482c4
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x9c]
mov dword [eax], 0
push 0x586710
push 0x228
mov dword [eax], esi
call fcn.00560ada
mov esi, eax
add esp, 8
mov dword [ebp - 0xb0], esi
mov dword [ebp - 4], 1
test esi, esi
je 0x54830b
mov ecx, dword [edi + 0xa44]
push ecx
mov eax, esp
mov dword [eax], ecx
test ecx, ecx
je 0x548300
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov ecx, esi
call fcn.00513ef0
mov esi, eax
jmp 0x54830d
xor esi, esi
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x54831e
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [edi + 0x434]
test ecx, ecx
je 0x54832e
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [edi + 0x434], esi
mov eax, dword [edi + 0x42c]
test eax, eax
je 0x548824
cmp dword [edi + 0x430], 0
je 0x548824
test esi, esi
je 0x548824
mov dword [esi + 8], eax
mov ecx, dword [edi + 0x434]
mov eax, dword [edi + 0x430]
push ecx
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [ebp - 0x94]
mov dword [eax], ecx
test ecx, ecx
je 0x54837e
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov ecx, dword [edi + 0x434]
xor edx, edx
call fcn.0043a8d0
test eax, eax
jne 0x548806
movsd xmm0, qword [edi + 0xe8]
mulsd xmm0, qword [0x5ea650]
mov eax, dword [ebp - 0xa8]
mov edx, dword [edi + 0xa44]
push eax
movzx eax, byte [edi + 0xad9]
mulsd xmm0, qword [ebx + 0x30]
push ecx
mov ecx, dword [edi + 0x434]
push eax
sub esp, 8
divsd xmm0, qword [0x5ea630]
divsd xmm0, qword [ebx + 0x20]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
push dword [ebp - 0x98]
call fcn.0043a5c0
test eax, eax
jne 0x548806
mov ecx, dword [edi + 0x434]
mov al, byte [edi + 0x3d5]
mov byte [ecx + 0xf1], al
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x54841d
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x94], 0
movsd xmm0, qword [edi + 0xe8]
lea edx, [ebp - 0x94]
mulsd xmm0, qword [0x5ea650]
mov eax, dword [edi + 0xa44]
push edx
push str.ja_jp
lea edx, [ebp - 0x50]
mulsd xmm0, qword [ebx + 0x30]
mov ecx, dword [eax]
push ecx
divsd xmm0, qword [0x5ea630]
divsd xmm0, qword [ebx + 0x20]
cvtpd2ps xmm0, xmm0
movss dword [esp], xmm0
push 5
push 0
push dword [ebp - 0xac]
push 0
push edx
push eax
call dword [ecx + 0x3c]
mov eax, dword [ebp - 0x94]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x18]
mov eax, dword [ebp - 0x94]
push 0
push eax
mov ecx, dword [eax]
call dword [ecx + 0x1c]
push 0x586710
push 0x18
call fcn.00560ada
mov esi, eax
add esp, 8
mov dword [ebp - 0xa8], esi
lea eax, [edi + 0x450]
mov dword [ebp - 0x9c], eax
test esi, esi
je 0x5484eb
mov dword [esi + 4], 0
mov dword [esi], vtable.FlowLayoutSource.0
mov dword [esi + 8], 0x43960000
mov dword [esi + 0xc], 0x43960000
mov dword [esi + 0x14], 0
mov dword [esi + 0x10], 0
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov eax, dword [ebp - 0x9c]
jmp 0x5484ed
xor esi, esi
mov ecx, dword [eax]
test ecx, ecx
je 0x548505
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x9c]
mov dword [eax], 0
push 0x586710
push 0x40
mov dword [eax], esi
call fcn.00560ada
mov esi, eax
add esp, 8
mov dword [ebp - 0xa8], esi
test esi, esi
je 0x54855e
mov edx, dword [edi + 0xa44]
push ecx
mov ecx, esp
mov dword [ecx], edx
test edx, edx
je 0x548537
mov eax, dword [edx]
push edx
call dword [eax + 4]
mov ecx, esi
call fcn.00513d60
mov esi, eax
lea eax, [edi + 0x454]
mov dword [ebp - 0x9c], eax
test esi, esi
je 0x54856c
mov ecx, dword [esi]
push esi
call dword [ecx + 4]
mov eax, dword [ebp - 0x9c]
jmp 0x54856c
lea eax, [edi + 0x454]
xor esi, esi
mov dword [ebp - 0x9c], eax
mov ecx, dword [eax]
test ecx, ecx
je 0x548584
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov eax, dword [ebp - 0x9c]
mov dword [eax], 0
push 0x586710
push 0x228
mov dword [eax], esi
call fcn.00560ada
mov esi, eax
add esp, 8
mov dword [ebp - 0xa8], esi
mov dword [ebp - 4], 2
test esi, esi
je 0x5485cb
mov ecx, dword [edi + 0xa44]
push ecx
mov eax, esp
mov dword [eax], ecx
test ecx, ecx
je 0x5485c0
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov ecx, esi
call fcn.00513ef0
mov esi, eax
jmp 0x5485cd
xor esi, esi
mov dword [ebp - 4], 0xffffffff
test esi, esi
je 0x5485de
mov eax, dword [esi]
push esi
call dword [eax + 4]
mov ecx, dword [edi + 0x458]
test ecx, ecx
je 0x5485ee
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [edi + 0x458], esi
mov ecx, dword [edi + 0x450]
test ecx, ecx
je 0x548824
cmp dword [edi + 0x454], 0
je 0x548824
test esi, esi
je 0x548824
mov dword [esi + 8], ecx
mov ecx, dword [edi + 0x458]
mov eax, dword [edi + 0x454]
push ecx
mov dword [ecx + 0xc], eax
mov eax, esp
mov ecx, dword [ebp - 0x94]
mov dword [eax], ecx
test ecx, ecx
je 0x54863e
mov eax, dword [ecx]
push ecx
call dword [eax + 4]
mov ecx, dword [edi + 0x458]
xor edx, edx
call fcn.0043a8d0
test eax, eax
jne 0x548806
movsd xmm0, qword [edi + 0xe8]
mulsd xmm0, qword [0x5ea650]
mov edx, dword [edi + 0xa44]
mov ecx, dword [edi + 0x458]
push eax
push eax
mulsd xmm0, qword [ebx + 0x30]
movzx eax, byte [edi + 0xad9]
push eax
sub esp, 8
divsd xmm0, qword [0x5ea630]
divsd xmm0, qword [ebx + 0x20]
cvtpd2ps xmm0, xmm0
movss dword [esp + 4], xmm0
push dword [ebp - 0x98]
call fcn.0043a490
test eax, eax
jne 0x548806
mov ecx, dword [edi + 0x458]
mov al, byte [edi + 0x3d5]
mov byte [ecx + 0xf1], al
mov ecx, dword [ebp - 0x94]
test ecx, ecx
je 0x5486d7
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x94], 0
mov ecx, dword [ebp - 0x98]
test ecx, ecx
je 0x5486f1
mov eax, dword [ecx]
push ecx
call dword [eax + 8]
mov dword [ebp - 0x98], 0
cmp byte [ebp - 0x9d], 0
je 0x548719
xor esi, esi
nop dword [eax]
cmp byte [ebp + esi - 0xc8], 0
je 0x548713
push ebx
push esi
mov ecx, edi
call fcn.0054a270
inc esi
cmp esi, 0xa
jl 0x548700
cmp byte [ebp - 0x9e], 0
je 0x548742
xor esi, esi
cmp byte [ebp + esi - 0xd4], 0
je 0x54873c
movss xmm3, dword [ebp + 0x1c]
mov ecx, edi
push ebx
push esi
call fcn.0054c070
inc esi
cmp esi, 0xa
jl 0x548724
cmp byte [ebp - 0x9f], 0
je 0x548769
xor esi, esi
nop dword [eax]
cmp byte [ebp + esi - 0xe0], 0
je 0x548763
push ebx
push esi
mov ecx, edi
call fcn.0054ac50
inc esi
cmp esi, 0xa
jl 0x548750
cmp byte [ebp - 0xa0], 0
je 0x548792
xor esi, esi
cmp byte [ebp + esi - 0xec], 0
je 0x54878c
movss xmm3, dword [ebp + 0x1c]
mov ecx, edi
push ebx
push esi
call fcn.0054c620
inc esi
cmp esi, 0xa
jl 0x548774
cmp byte [ebp - 0xa1], 0
je 0x5487b9
xor esi, esi
nop dword [eax]
cmp byte [ebp + esi - 0xf8], 0
je 0x5487b3
push ebx
push esi
mov ecx, edi
call fcn.0054a790
inc esi
cmp esi, 0xa
jl 0x5487a0
cmp byte [ebp - 0xa2], 0
je 0x5487dd
xor esi, esi
cmp byte [ebp + esi - 0x104], 0
je 0x5487d7
push ebx
push esi
mov ecx, edi
call fcn.0054b190
inc esi
cmp esi, 0xa
jl 0x5487c4
lea eax, [ebp - 0x90]
push eax
lea eax, [edi + 0x64]
push 0x20
push eax
call fcn.00565fee
mov al, byte [ebp - 0xb1]
add esp, 0xc
mov byte [edi + 0x62], al
mov eax, dword [ebp - 0xbc]
mov dword [edi + 0x58], eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0056060a
mov esp, ebp
pop ebp
ret 0x18
mov eax, 0x8007000e
jmp 0x548806
call fcn.0056073a
out dx, eax
jnp 5539975
add bl, dh
jnp 0x54888b
add bh, dh
jnp 0x54888f
add bl, bh
jnp 0x548893
add bh, bh
jnp 0x548897
add byte [edi + 0x7c], dh
push esp
add byte [ebx + 0x7c], bh
push esp
add byte [edi + 0x7c], bh
push esp
add byte [ebx - 0x78ffab84], al
jl 0x5488ab
add ah, cl
int3
add byte [eax], al
add byte [eax], al
xchg esp, eax
pop ebp
mov al, byte [0x6167e8a1]
popal
add byte [ebx + 0x5860a835], cl
add byte [ecx - 0x7c746fbb], cl
in al, dx
add dword [eax], eax
add byte [ebp + 0x500d74c0], al