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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x238
mov esi, esp
mov dword [esi + 0x220], ebp
lea ebx, [esi + 0x228]
mov dword [ebx - 4], esp
xor eax, eax
dec eax
mov dword [ebx + 8], eax
mov dword [ebx + 4], 0x442040
mov eax, dword fs:[0]
mov dword [ebx], eax
mov dword fs:[0], ebx
mov eax, 0x190
lea edi, [esi + 0x90]
push eax
push 0xff
push edi
call fcn.00508060
add esp, 0xc
mov dword [esi + 0x4c], edi
mov dword [esi + 0x14], edi
mov eax, 0x190
add edi, eax
mov dword [esi + 0x5c], edi
xor eax, eax
dec eax
mov dword [esi + 0x58], eax
lea ecx, [esi + 0x4a]
mov word [ecx], ax
lea ecx, [esi + 0x48]
mov word [ecx], ax
lea ecx, [esi + 0x54]
mov dword [ecx], eax
mov dword [esi + 0x50], fcn.00535c80
mov dword [ebx + 8], 1
xor edi, edi
lea ebx, [esi + 0x78]
mov dword [ebx + 4], edi
mov dword [ebx], edi
mov dword [ebx + 8], edi
lea edx, [esi + 0x18]
mov dword [edx + 4], edi
mov dword [edx], edi
mov dword [edx + 8], edi
lea ecx, [esi + 0x38]
mov dword [ecx + 4], edi
mov dword [ecx], edi
mov dword [ecx + 8], edi
lea eax, [esi + 0x28]
mov dword [eax + 4], edi
mov dword [eax], edi
mov dword [eax + 8], edi
mov dword [esi + 0x64], edi
mov dword [esi + 0x60], edi
mov dword [esi + 0x68], edi
movzx edi, byte [ebp + 0x10]
mov dword [esi + 4], edi
lea edi, [esi + 0x54]
push edi
push eax
push ecx
push edx
push ebx
lea eax, [esi + 0x48]
push eax
lea eax, [esi + 0x4a]
push eax
lea eax, [esi + 0x58]
push eax
push dword [ebp + 0x14]
push dword [esi + 4]
call fcn.00548920
add esp, 0x28
mov ecx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0x18]
mov eax, dword [eax]
mov dword [ecx], eax
shr edx, 9
and edx, 1
mov dword [esi + 0x88], edx
xor ecx, ecx
xor edx, edx
cmp edx, 3
mov dword [esi + 8], ecx
ja 0x54816f
mov dword [esi + 0xc], edx
mov dword [esi + 0x230], 1
mov ecx, dword [ebp + 8]
lea eax, [ebp + 0xc]
push eax
call fcn.00534580
test al, al
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
jne 0x54816f
movsx eax, byte [esi + edx + 0x58]
cmp eax, 4
ja case.default.0x547929
jmp dword [eax*4 + 0x5e0548]
cmp edx, 3
jne 0x547e36
jmp 0x547b33
mov edi, dword [esi + 0x70]
movzx edi, word [edi + edx]
mov ebx, dword [esi + 0x10]
cmp di, word [ebx + edx]
jne 0x547f32
add edx, 2
cmp dword [esi + 0x74], edx
jne 0x54793e
jmp 0x54841b
mov dword [esi + 0x10], 0
mov ecx, dword [ebp + 8]
lea eax, [ebp + 0xc]
push eax
call fcn.00534580
test al, al
jne 0x547b4e
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x547a48
movzx eax, word [eax]
mov word [esi + 4], ax
mov ebx, dword [ebp + 0x24]
mov eax, dword [ebx]
mov edi, dword [eax + 0xc]
mov dword [esi + 0x230], 0xffffffff
mov ecx, edi
call dword [section..00cfg]
mov dword [esi + 0x230], 1
movzx eax, word [esi + 4]
mov ecx, ebx
push eax
push 4
call edi
test al, al
je 0x5479e4
mov edx, dword [ebp + 0x2c]
mov eax, dword [edx]
cmp eax, dword [ebp + 0x30]
je 0x547a9c
lea ecx, [eax + 2]
mov dword [edx], ecx
movzx ecx, word [esi + 4]
mov word [eax], cx
inc dword [esi + 0x10]
jmp 0x547a30
movzx eax, byte [esi + 0x83]
test al, al
jns 0x5479f2
mov eax, dword [esi + 0x7c]
test eax, eax
movzx eax, word [esi + 4]
je 0x547b4e
cmp dword [esi + 0x10], 0
je 0x547b4e
cmp ax, word [esi + 0x48]
jne 0x547b4e
mov eax, dword [esi + 0x14]
cmp eax, dword [esi + 0x5c]
je 0x547ab6
lea ecx, [eax + 4]
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
mov dword [esi + 0x10], 0
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x547a72
add eax, 2
mov dword [edi + 0xc], eax
jmp 0x547966
mov eax, dword [edi]
mov ebx, dword [eax + 0x20]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
jmp 0x54798e
mov eax, dword [edi]
mov ebx, dword [eax + 0x24]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
jmp 0x547966
lea eax, [ebp + 0x30]
push eax
push edx
push dword [ebp + 0x28]
call fcn.00548a80
add esp, 0xc
mov edx, dword [ebp + 0x2c]
mov eax, dword [edx]
jmp 0x5479d3
lea eax, [esi + 0x5c]
push eax
lea eax, [esi + 0x14]
push eax
lea eax, [esi + 0x4c]
push eax
call fcn.00547210
add esp, 0xc
mov eax, dword [esi + 0x14]
jmp 0x547a1e
test ecx, ecx
jne 0x547d14
cmp edx, 2
jb 0x547d14
sete al
cmp byte [esi + 0x5b], 0
setne cl
and cl, al
or cl, byte [esi + 0x88]
xor eax, eax
cmp cl, 1
jne 0x547b39
mov al, byte [esi + 0x23]
test al, al
mov ecx, dword [esi + 0x18]
lea ebx, [esi + 0x18]
cmovs ebx, ecx
jmp 0x547d2a
movzx ecx, byte [esi + 0x43]
mov eax, ecx
test cl, cl
jns 0x547b1c
mov eax, dword [esi + 0x3c]
movzx edx, byte [esi + 0x33]
mov ebx, edx
test dl, dl
jns 0x547b29
mov ebx, dword [esi + 0x2c]
mov edi, eax
add edi, ebx
jne 0x547d9d
mov eax, dword [esi + 8]
mov edx, dword [esi + 0xc]
inc edx
mov ecx, eax
jmp 0x5478e8
cmp edx, 3
jne 0x547dc5
mov eax, ecx
jmp 0x547b39
mov eax, dword [esi + 0x14]
cmp dword [esi + 0x4c], eax
je 0x547b70
cmp dword [esi + 0x10], 0
je 0x547b70
cmp eax, dword [esi + 0x5c]
je 0x548108
lea ecx, [eax + 4]
mov dword [esi + 0x14], ecx
mov ecx, dword [esi + 0x10]
mov dword [eax], ecx
cmp dword [esi + 0x54], 0
jle 0x547cf9
mov ecx, dword [ebp + 8]
lea eax, [ebp + 0xc]
push eax
call fcn.00534580
test al, al
jne 0x548277
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x54802e
movzx eax, word [eax]
cmp ax, word [esi + 0x4a]
jne 0x548277
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x548058
add eax, 2
mov dword [edi + 0xc], eax
cmp dword [esi + 0x54], 0
jle 0x547cf9
mov ecx, dword [ebp + 8]
lea eax, [ebp + 0xc]
push eax
call fcn.00534580
test al, al
jne 0x548277
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x547ca3
movzx edi, word [eax]
mov eax, dword [ebp + 0x24]
mov eax, dword [eax]
mov ebx, dword [eax + 0xc]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
movzx eax, di
mov ecx, dword [ebp + 0x24]
push eax
push 4
call ebx
test al, al
je 0x548277
mov eax, dword [ebp + 0x2c]
mov eax, dword [eax]
cmp eax, dword [ebp + 0x30]
jne 0x547c48
lea eax, [ebp + 0x30]
push eax
push dword [ebp + 0x2c]
push dword [ebp + 0x28]
call fcn.00548a80
add esp, 0xc
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x547ccf
movzx eax, word [eax]
mov edi, dword [ebp + 0x2c]
mov ecx, dword [edi]
lea edx, [ecx + 2]
mov dword [edi], edx
mov word [ecx], ax
dec dword [esi + 0x54]
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
jne 0x547bbd
mov eax, dword [edi]
mov ebx, dword [eax + 0x24]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
jmp 0x547bc3
mov eax, dword [edi]
mov ebx, dword [eax + 0x20]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
mov edi, eax
jmp 0x547bf5
mov eax, dword [edi]
mov ebx, dword [eax + 0x20]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
jmp 0x547c58
mov eax, dword [ebp + 0x2c]
mov ecx, dword [eax]
mov eax, dword [esi + 8]
mov edx, dword [ebp + 0x28]
cmp ecx, dword [edx]
mov edx, dword [esi + 0xc]
jne 0x547b39
jmp 0x548277
mov al, byte [esi + 0x23]
test al, al
mov ecx, dword [esi + 0x18]
lea ebx, [esi + 0x18]
cmovs ebx, ecx
test edx, edx
je 0x547f35
lea edi, [esi + 0x58]
cmp byte [edx + edi - 1], 1
ja 0x547f35
test al, al
lea edx, [esi + 0x18]
movzx edi, al
cmovs edi, dword [esi + 0x1c]
cmovs edx, ecx
lea edx, [edx + edi*2]
cmp ebx, edx
mov dword [esi + 4], ebx
je 0x547f08
mov eax, dword [esi + 4]
movzx ebx, word [eax]
mov eax, dword [ebp + 0x24]
mov eax, dword [eax]
mov edi, dword [eax + 0xc]
mov dword [esi + 0x230], 0xffffffff
mov ecx, edi
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, dword [ebp + 0x24]
push ebx
push 8
call edi
mov ebx, dword [esi + 4]
test al, al
je 0x548357
add ebx, 2
mov al, byte [esi + 0x23]
mov ecx, dword [esi + 0x18]
jmp 0x547d38
test eax, eax
je 0x5480ad
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
mov edx, dword [edi + 0x10]
test ebx, ebx
je 0x54836e
cmp eax, edx
jne 0x548362
jmp 0x548468
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x5480c3
movzx edi, word [eax]
mov eax, dword [ebp + 0x24]
mov eax, dword [eax]
mov ebx, dword [eax + 0xc]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
movzx eax, di
mov ecx, dword [ebp + 0x24]
push eax
push 8
call ebx
test al, al
je 0x548277
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x548124
lea ecx, [eax + 2]
mov dword [edi + 0xc], ecx
movzx eax, word [eax]
movzx eax, ax
lea ecx, [esi + 0x60]
push eax
call fcn.004db4c0
mov ecx, dword [ebp + 8]
lea eax, [ebp + 0xc]
push eax
call fcn.00534580
test al, al
jne 0x547b33
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x547eb5
movzx edi, word [eax]
mov eax, dword [ebp + 0x24]
mov eax, dword [eax]
mov ebx, dword [eax + 0xc]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
movzx eax, di
mov ecx, dword [ebp + 0x24]
push eax
push 8
call ebx
test al, al
je 0x547b33
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x547ee1
lea ecx, [eax + 2]
mov dword [edi + 0xc], ecx
movzx eax, word [eax]
movzx eax, ax
lea ecx, [esi + 0x60]
push eax
call fcn.004db4c0
jmp 0x547e36
mov eax, dword [edi]
mov ebx, dword [eax + 0x20]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
mov edi, eax
jmp 0x547e5a
mov eax, dword [edi]
mov ebx, dword [eax + 0x24]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
jmp 0x547ea7
test al, al
lea edx, [esi + 0x18]
cmovs edx, ecx
mov dword [esi + 0x10], edx
sub ebx, edx
mov dword [esi + 0x74], ebx
mov edi, ebx
sar edi, 1
movzx ebx, byte [esi + 0x6b]
mov edx, ebx
test bl, bl
js 0x548324
cmp edi, edx
jbe 0x54832c
mov ebx, dword [esi + 0x10]
test al, al
movzx eax, al
cmovs eax, dword [esi + 0x1c]
lea edx, [esi + 0x18]
cmovns ecx, edx
lea eax, [ecx + eax*2]
cmp ebx, eax
je 0x547ffa
mov dword [esi + 0x230], 1
mov ecx, dword [ebp + 8]
lea eax, [ebp + 0xc]
push eax
mov dword [esi + 4], ebx
call fcn.00534580
mov ebx, dword [esi + 4]
test al, al
jne 0x547ffa
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x547fa6
movzx eax, word [eax]
cmp ax, word [ebx]
jne 0x547ffa
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x547fd0
add eax, 2
mov dword [edi + 0xc], eax
add ebx, 2
mov al, byte [esi + 0x23]
mov ecx, dword [esi + 0x18]
jmp 0x547f35
mov eax, dword [edi]
mov ebx, dword [eax + 0x20]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
mov ebx, dword [esi + 4]
jmp 0x547f83
mov eax, dword [edi]
mov ebx, dword [eax + 0x24]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
mov ebx, dword [esi + 4]
jmp 0x547f9b
bt dword [ebp + 0x18], 9
jae 0x547b33
movzx eax, byte [esi + 0x23]
lea ecx, [esi + 0x18]
test al, al
mov edx, dword [esi + 8]
jns 0x548019
mov ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x1c]
lea ecx, [ecx + eax*2]
mov eax, edx
cmp ebx, ecx
mov edx, dword [esi + 0xc]
je 0x547b39
jmp 0x548277
mov eax, dword [edi]
mov ebx, dword [eax + 0x20]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
jmp 0x547ba2
mov eax, dword [edi]
mov ebx, dword [eax + 0x24]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
jmp 0x547bc3
lea ebx, [esi + 0x38]
test cl, cl
js 0x5483b0
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov edx, dword [edi + 0xc]
mov eax, dword [edi + 0x10]
mov dword [esi + 0x10], eax
movzx eax, word [esi + 4]
cmp ax, word [ebx]
jne 0x5483cc
jmp 0x5483b8
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
jne 0x5483a8
jmp 0x548499
mov eax, dword [edi]
mov ebx, dword [eax + 0x20]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
mov edi, eax
jmp 0x547dd9
lea ecx, [esi + 0x28]
test dl, dl
js 0x548423
cmp ax, word [ecx]
je 0x54842b
jmp 0x547b33
lea eax, [esi + 0x5c]
push eax
lea eax, [esi + 0x14]
push eax
lea eax, [esi + 0x4c]
push eax
call fcn.00547210
add esp, 0xc
mov eax, dword [esi + 0x14]
jmp 0x547b65
mov eax, dword [edi]
mov ebx, dword [eax + 0x24]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
jmp 0x547e2a
test cl, cl
js 0x548458
jmp 0x548460
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
cmp eax, 2
lea eax, [esi + 0x38]
cmovae ecx, eax
jmp case.default.0x547929
test ecx, ecx
je 0x54824b
xor ebx, ebx
inc ebx
mov ecx, dword [esi + 8]
movzx eax, byte [ecx + 0xb]
test al, al
jns 0x548188
mov eax, dword [ecx + 4]
cmp ebx, eax
jae 0x54824b
mov dword [esi + 0x230], 1
mov ecx, dword [ebp + 8]
lea eax, [ebp + 0xc]
push eax
mov dword [esi + 4], ebx
call fcn.00534580
mov ebx, dword [esi + 4]
test al, al
jne 0x548277
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x5481f1
movzx eax, word [eax]
mov edx, dword [esi + 8]
cmp byte [edx + 0xb], 0
mov ecx, edx
jns 0x5481d1
mov ecx, dword [edx]
cmp ax, word [ecx + ebx*2]
jne 0x548277
inc ebx
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x54821b
add eax, 2
mov dword [edi + 0xc], eax
jmp 0x54817a
mov eax, dword [edi]
mov ebx, dword [eax + 0x20]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
mov ebx, dword [esi + 4]
jmp 0x5481c4
mov eax, dword [edi]
mov dword [esi + 4], ebx
mov ebx, dword [eax + 0x24]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
mov ebx, dword [esi + 4]
jmp 0x54817a
mov eax, dword [esi + 0x4c]
mov ecx, dword [esi + 0x14]
mov bl, 1
cmp eax, ecx
je 0x54827f
lea edi, [esi + 0x8c]
mov dword [edi], 0
push edi
push ecx
push eax
lea eax, [esi + 0x78]
push eax
call fcn.00547310
add esp, 0x10
cmp dword [edi], 0
je 0x54827f
mov eax, dword [ebp + 0x1c]
or byte [eax], 4
xor ebx, ebx
cmp byte [esi + 0x6b], 0
jns 0x548290
push dword [esi + 0x60]
call fcn.00503da5
add esp, 4
cmp byte [esi + 0x33], 0
jns 0x5482a1
push dword [esi + 0x28]
call fcn.00503da5
add esp, 4
cmp byte [esi + 0x43], 0
jns 0x5482b2
push dword [esi + 0x38]
call fcn.00503da5
add esp, 4
cmp byte [esi + 0x23], 0
jns 0x5482c3
push dword [esi + 0x18]
call fcn.00503da5
add esp, 4
cmp byte [esi + 0x83], 0
jns 0x5482d7
push dword [esi + 0x78]
call fcn.00503da5
add esp, 4
mov edi, dword [esi + 0x4c]
mov dword [esi + 0x4c], 0
test edi, edi
je 0x54830e
mov ecx, dword [esi + 0x50]
mov dword [esi + 0x230], 0xffffffff
call dword [section..00cfg]
mov dword [esi + 0x230], 0
push edi
mov dword [esi + 4], ebx
call ecx
mov ebx, dword [esi + 4]
add esp, 4
mov eax, dword [esi + 0x228]
mov dword fs:[0], eax
mov eax, ebx
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov edx, dword [esi + 0x64]
jmp 0x547f2a
mov dword [esi + 0x70], edx
lea edx, [esi + 0x60]
test bl, bl
jns 0x548339
mov edx, dword [esi + 0x60]
cmp dword [esi + 0x74], 0
je 0x54841b
mov ebx, dword [esi + 0x70]
lea edx, [edx + ebx*2]
add edi, edi
sub edx, edi
mov dword [esi + 0x70], edx
xor edx, edx
jmp 0x54793e
mov al, byte [esi + 0x23]
mov ecx, dword [esi + 0x18]
jmp 0x547f08
movzx eax, word [eax]
mov word [esi + 4], ax
jmp 0x548082
cmp eax, edx
je 0x5484fc
movzx eax, word [eax]
lea edx, [esi + 0x38]
test cl, cl
jns 0x548383
mov edx, dword [esi + 0x38]
cmp ax, word [edx]
jne 0x5484c6
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x5485da
add eax, 2
mov dword [edi + 0xc], eax
jmp 0x54814e
movzx eax, word [eax]
jmp 0x5480ef
mov ebx, dword [esi + 0x38]
jmp 0x54808d
cmp edx, dword [esi + 0x10]
je 0x548529
add edx, 2
mov dword [edi + 0xc], edx
jmp 0x54814e
cmp edx, dword [esi + 0x10]
je 0x548556
movzx eax, word [edx]
mov cl, byte [esi + 0x33]
lea edx, [esi + 0x28]
test cl, cl
jns 0x5483e5
mov edx, dword [esi + 0x28]
cmp ax, word [edx]
jne 0x548277
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x548580
add eax, 2
mov dword [edi + 0xc], eax
mov eax, dword [ebp + 0x20]
mov byte [eax], 1
test cl, cl
jns 0x5484d1
mov eax, dword [esi + 0x2c]
jmp 0x5484d4
mov ebx, dword [esi + 4]
jmp 0x547f35
mov ecx, dword [esi + 0x28]
jmp 0x5480fa
mov eax, dword [ebp + 8]
mov edi, dword [eax]
mov eax, dword [edi + 0xc]
cmp eax, dword [edi + 0x10]
je 0x5485ad
add eax, 2
mov dword [edi + 0xc], eax
mov eax, dword [ebp + 0x20]
mov byte [eax], 1
test dl, dl
jns 0x5484e5
mov eax, dword [esi + 0x2c]
jmp 0x5484e8
mov eax, dword [esi + 0x3c]
jmp 0x54815b
movzx eax, cl
jmp 0x54815b
mov eax, dword [edi]
mov ebx, dword [eax + 0x20]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
mov word [esi + 4], ax
mov cl, byte [esi + 0x43]
jmp 0x548082
mov eax, dword [edi]
mov ebx, dword [eax + 0x20]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
mov dl, byte [esi + 0x33]
jmp 0x5480ef
mov eax, dword [ebp + 0x20]
mov byte [eax], 1
jmp 0x547b33
movzx eax, cl
mov ecx, dword [esi + 8]
mov edx, dword [esi + 0xc]
cmp eax, 2
lea eax, [esi + 0x28]
jmp 0x548167
movzx eax, dl
mov edx, dword [esi + 0xc]
cmp eax, 2
mov eax, dword [esi + 8]
lea ecx, [esi + 0x28]
cmovae eax, ecx
jmp 0x547b39
mov eax, dword [edi]
mov ebx, dword [eax + 0x20]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
mov cl, byte [esi + 0x43]
jmp 0x548379
mov eax, dword [edi]
mov ebx, dword [eax + 0x24]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
mov cl, byte [esi + 0x43]
jmp 0x54814e
mov eax, dword [edi]
mov ebx, dword [eax + 0x20]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
jmp 0x5483d8
mov eax, dword [edi]
mov ebx, dword [eax + 0x24]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
mov cl, byte [esi + 0x33]
jmp 0x548405
mov eax, dword [edi]
mov ebx, dword [eax + 0x24]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
mov dl, byte [esi + 0x33]
jmp 0x548442
mov eax, dword [edi]
mov ebx, dword [eax + 0x24]
mov dword [esi + 0x230], 0xffffffff
mov ecx, ebx
call dword [section..00cfg]
mov dword [esi + 0x230], 1
mov ecx, edi
call ebx
jmp 0x54854e