Function at 0x478bf0
Capabilities:
Create thread
Hide graphical window

Disassembly:
mov eax, dword [esp + 8]
sub esp, 0x38
and eax, 0xffff
push ebx
push ebp
push esi
cmp eax, 0x115
push edi
mov ebx, ecx
jg 0x4797aa
cmp eax, 0x114
jge 0x479515
cmp eax, 0x7b
jg 0x478d61
je 0x478d3b
sub eax, 2
je 0x478c68
sub eax, 0x51
jne case.default.0x4797b8
mov eax, dword [esp + 0x58]
cmp dword [eax + 4], 1
jne case.0x479553.542
mov eax, dword [eax + 0xc]
push 0x4f0938
push 0xc
push str.ACDSee.hlp
push eax
call dword [0x4d6780]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov esi, dword [esp + 0x4c]
mov edi, dword [0x4d6814]
push 0
push 0
push 0xf6
push 0x23b
push esi
call edi
mov ebx, dword [0x4d6098]
push eax
call ebx
push 0
push 0
push 0xf6
push 0x23c
push esi
call edi
push eax
call ebx
push 0
push 0
push 0xf6
push 0x23d
push esi
call edi
push eax
call ebx
push 0
push 0
push 0xf6
push 0x23e
push esi
call edi
push eax
call ebx
push 0
push 0
push 0xf6
push 0x23f
push esi
call edi
push eax
call ebx
push 0
push 0
push 0xf6
push 0x240
push esi
call edi
push eax
call ebx
push 0
push 0
push 0xf6
push 0x241
push esi
call edi
push eax
call ebx
push 0
push 0
push 0xf6
push 0x242
push esi
call edi
push eax
call ebx
push 0
push 0
push 0xf6
push 0x243
push esi
call edi
push eax
call ebx
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov ecx, dword [esp + 0x54]
push 0x4f0938
push 0xc
push str.ACDSee.hlp
push ecx
call dword [0x4d6780]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
sub eax, 0x110
je 0x4794ff
dec eax
jne case.default.0x4797b8
mov esi, dword [esp + 0x54]
mov eax, esi
shr eax, 0x10
cmp ax, 0x300
jne 0x47916d
mov ebp, dword [esp + 0x4c]
mov edi, esi
lea edx, [esp + 0x20]
and edi, 0xffff
push 0x14
push edx
push edi
push ebp
call dword [0x4d6818]
lea eax, [esp + 0x20]
push eax
call fcn.00472f00
fstp qword [esp + 0x14]
add esp, 4
cmp si, 0x221
je 0x478f04
cmp si, 0x222
je 0x478f04
cmp si, 0x227
jne 0x478f6d
mov eax, dword [ebx + 0x64]
test eax, eax
je 0x478f6d
mov eax, dword [ebx + 0x7c]
mov esi, dword [0x4d63a4]
mov edi, dword [0x4d6384]
test eax, eax
je 0x478e21
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call esi
cmp eax, 0x102
jne 0x478e14
push 0x40
call dword [0x4d6734]
jmp 0x478e21
mov ecx, dword [ebx + 0x7c]
push ecx
call edi
mov dword [ebx + 0x7c], 0
push 0
push 0
push 0x227
push ebp
call dword [0x4d66f0]
xor edx, edx
mov dword [ebx + 0xc8], eax
mov dx, ax
push edx
push 0
push 0x467
push 0x229
push ebp
call dword [0x4d6814]
mov eax, dword [ebx + 0x7c]
test eax, eax
je 0x478e87
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call esi
cmp eax, 0x102
jne 0x478e7a
push 0x40
call dword [0x4d6734]
jmp 0x478ee7
mov eax, dword [ebx + 0x7c]
push eax
call edi
mov dword [ebx + 0x7c], 0
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x478ee7
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x478ea5
mov ecx, dword [ebx + 0xc8]
mov eax, dword [ebx + 0xf0]
cmp ecx, eax
je 0x478ee7
push 0
mov ecx, ebx
mov dword [ebx + 0x80], 0
call fcn.00478270
lea edx, [esp + 0x4c]
push edx
push 4
push ebx
push 0x475c50
push 0
push 0
call fcn.004a899b
add esp, 0x18
mov dword [ebx + 0x7c], eax
push 0xfffffffffffffffe
push eax
call dword [0x4d6464]
mov eax, dword [ebx + 0x7c]
push eax
call dword [0x4d6460]
mov ecx, dword [ebx + 0x64]
push 0
push 0
push ecx
call dword [0x4d6778]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
push 0
push 0
push 0x147
push 0x220
push ebp
call dword [0x4d6814]
cmp eax, 3
jne 0x478f44
cmp si, 0x221
jne 0x478f31
fld qword [esp + 0x10]
fstp dword [ebx + 0xc0]
jmp 0x478f6d
cmp si, 0x222
jne 0x478f6d
fld qword [esp + 0x10]
fstp dword [ebx + 0xc4]
jmp 0x478f6d
cmp eax, 2
jne 0x478f6d
cmp si, 0x221
jne 0x478f5c
fld qword [esp + 0x10]
fstp dword [ebx + 0xb8]
jmp 0x478f6d
cmp si, 0x222
jne 0x478f6d
fld qword [esp + 0x10]
fstp dword [ebx + 0xbc]
fld qword [esp + 0x10]
fmul qword [0x4d8f28]
call fcn.004a7d38
mov esi, eax
lea eax, [edi - 0x216]
cmp eax, 0xc
ja case.0x479553.542
jmp dword [eax*4 + 0x479ac0]
mov edi, 0x215
jmp 0x478fc3
mov edi, 0x21b
jmp 0x478fc3
mov edi, 0x224
jmp 0x478fc3
mov edi, 0x217
jmp 0x478fc3
mov edi, 0x219
jmp 0x478fc3
mov edi, 0x21a
jmp 0x478fc3
mov edi, 0x218
push 0
and edi, 0xffff
push 0
push 0x466
push edi
push ebp
call dword [0x4d6814]
mov ecx, eax
shr ecx, 0x10
cmp esi, ecx
jge 0x478fe5
mov esi, ecx
and eax, 0xffff
cmp esi, eax
jle 0x478ff0
mov esi, eax
and esi, 0xffff
push esi
push 0
push 0x467
push edi
push ebp
call dword [0x4d6814]
mov eax, dword [ebx + 0x64]
test eax, eax
je case.0x479553.542
cmp word [esp + 0x54], 0x216
jne 0x479134
mov eax, dword [ebx + 0x7c]
mov edi, dword [0x4d63a4]
mov ebp, dword [0x4d6384]
test eax, eax
je 0x479061
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call edi
cmp eax, 0x102
jne 0x479054
push 0x40
call dword [0x4d6734]
jmp 0x479061
mov edx, dword [ebx + 0x7c]
push edx
call ebp
mov dword [ebx + 0x7c], 0
mov eax, dword [ebx + 0x30]
xor esi, esi
mov ecx, dword [eax + 8]
test ecx, ecx
jle 0x47908f
cmp esi, ecx
jge 0x47907d
test esi, esi
jl 0x47907d
mov eax, dword [eax + 4]
mov ecx, dword [eax + esi*4]
jmp 0x47907f
xor ecx, ecx
push 0
call fcn.0049e550
mov eax, dword [ebx + 0x30]
inc esi
cmp esi, dword [eax + 8]
jl 0x479071
mov eax, dword [ebx + 0x7c]
test eax, eax
je 0x4790c6
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call edi
cmp eax, 0x102
jne 0x4790b9
push 0x40
call dword [0x4d6734]
jmp 0x479126
mov ecx, dword [ebx + 0x7c]
push ecx
call ebp
mov dword [ebx + 0x7c], 0
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x479126
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x4790e4
mov edx, dword [ebx + 0xc8]
mov eax, dword [ebx + 0xf0]
cmp edx, eax
je 0x479126
push 0
mov ecx, ebx
mov dword [ebx + 0x80], 0
call fcn.00478270
lea eax, [esp + 0x4c]
push eax
push 4
push ebx
push 0x475c50
push 0
push 0
call fcn.004a899b
add esp, 0x18
mov dword [ebx + 0x7c], eax
push 0xfffffffffffffffe
push eax
call dword [0x4d6464]
mov ecx, dword [ebx + 0x7c]
push ecx
call dword [0x4d6460]
mov edx, dword [ebx + 0x64]
push 0
push 0
push edx
call dword [0x4d6778]
mov eax, dword [ebx + 0x64]
test eax, eax
je case.0x479553.542
mov eax, dword [esp + 0x54]
cmp ax, 0x216
je case.0x479553.542
cmp ax, 0x225
je case.0x479553.542
mov ecx, ebx
call fcn.00477220
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
cmp ax, 1
jne 0x479199
cmp si, 0x220
jne case.0x479553.542
push 0x220
mov ecx, ebx
call fcn.00479b90
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
test ax, ax
jne case.0x479553.542
mov eax, esi
and eax, 0xffff
cmp eax, 0x206
jg 0x47934c
cmp eax, 0x205
jge case.0x479362.533
cmp eax, 0x201
jg 0x479332
je case.0x479362.533
dec eax
je 0x479287
dec eax
jne case.0x479553.542
mov eax, dword [ebx + 0x7c]
mov esi, dword [0x4d63a4]
mov ebp, dword [0x4d6734]
mov edi, dword [0x4d6384]
test eax, eax
je 0x479223
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call esi
cmp eax, 0x102
jne 0x479216
push 0x40
call ebp
jmp 0x479223
mov eax, dword [ebx + 0x7c]
push eax
call edi
mov dword [ebx + 0x7c], 0
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x47926b
push 0xbb8
push eax
mov dword [ebx + 0x78], 1
call esi
cmp eax, 0x102
jne 0x479246
push 0x20
call ebp
jmp 0x47926b
mov ecx, dword [ebx + 0x74]
push ecx
call edi
mov edx, dword [ebx + 0x60]
push 0
push 0x244
push edx
mov dword [ebx + 0x74], 0
call dword [0x4d6808]
push eax
call dword [0x4d6828]
mov eax, dword [esp + 0x4c]
push 2
push eax
call dword [0x4d6810]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
push 1
mov ecx, ebx
call fcn.00478270
test eax, eax
jne 0x4792a3
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov eax, dword [ebx + 0x64]
test eax, eax
jne 0x4792b9
lea esi, [ebx + 0x88]
mov ecx, 0xc
mov edi, ebx
rep movsd dword es:[edi], dword [esi]
mov eax, dword [ebx + 0x7c]
mov esi, dword [0x4d63a4]
mov edi, dword [0x4d6734]
test eax, eax
je 0x4792fc
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call esi
cmp eax, 0x102
jne 0x4792eb
push 0x40
call edi
jmp 0x4792fc
mov ecx, dword [ebx + 0x7c]
push ecx
call dword [0x4d6384]
mov dword [ebx + 0x7c], 0
mov ebx, dword [ebx + 0x74]
test ebx, ebx
je 0x479316
push 0xbb8
push ebx
call esi
cmp eax, 0x102
jne 0x479316
push 0x40
call edi
mov edx, dword [esp + 0x4c]
push 1
push edx
call dword [0x4d6810]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
cmp eax, 0x203
je case.0x479362.533
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
add eax, 0xfffffdec
cmp eax, 0x32
ja case.0x479553.542
xor ecx, ecx
mov cl, byte [eax + 0x479b04]
jmp dword [ecx*4 + 0x479af4]
push 0
mov ecx, ebx
call fcn.00478270
lea esi, [ebx + 0x88]
mov ecx, 0xc
mov edi, ebx
mov eax, 1
rep movsd dword es:[edi], dword [esi]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret 0x10
mov esi, dword [esp + 0x4c]
push 0x214
push esi
call dword [0x4d681c]
mov ebp, dword [0x4d6808]
mov edi, eax
push edi
push 0x216
push esi
call ebp
push eax
call dword [0x4d67f8]
push edi
push 0x215
push esi
call ebp
push eax
call dword [0x4d67f8]
mov eax, dword [ebx + 0x64]
test eax, eax
je case.0x479553.542
mov eax, dword [ebx + 0x7c]
mov edi, dword [0x4d63a4]
xor ebp, ebp
cmp eax, ebp
je 0x479412
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call edi
cmp eax, 0x102
jne 0x479405
push 0x40
call dword [0x4d6734]
jmp 0x479412
mov edx, dword [ebx + 0x7c]
push edx
call dword [0x4d6384]
mov dword [ebx + 0x7c], ebp
mov eax, dword [ebx + 0x30]
xor esi, esi
mov ecx, dword [eax + 8]
cmp ecx, ebp
jle 0x47943f
cmp esi, ecx
jge 0x47942e
cmp esi, ebp
jl 0x47942e
mov eax, dword [eax + 4]
mov ecx, dword [eax + esi*4]
jmp 0x479430
xor ecx, ecx
push ebp
call fcn.0049e550
mov eax, dword [ebx + 0x30]
inc esi
cmp esi, dword [eax + 8]
jl 0x479422
mov eax, dword [ebx + 0x7c]
cmp eax, ebp
je 0x47948f
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call edi
cmp eax, 0x102
jne 0x479482
push 0x40
call dword [0x4d6734]
mov edx, dword [ebx + 0x64]
push ebp
push ebp
push edx
call dword [0x4d6778]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov ecx, dword [ebx + 0x7c]
push ecx
call dword [0x4d6384]
mov dword [ebx + 0x7c], ebp
cmp dword [ebx + 0x7c], ebp
jne 0x4794e4
cmp dword [ebx + 0x74], ebp
je 0x4794a9
mov edx, dword [ebx + 0xc8]
mov eax, dword [ebx + 0xf0]
cmp edx, eax
je 0x4794e4
push ebp
mov ecx, ebx
mov dword [ebx + 0x80], ebp
call fcn.00478270
lea eax, [esp + 0x4c]
push eax
push 4
push ebx
push 0x475c50
push ebp
push ebp
call fcn.004a899b
add esp, 0x18
mov dword [ebx + 0x7c], eax
push 0xfffffffffffffffe
push eax
call dword [0x4d6464]
mov ecx, dword [ebx + 0x7c]
push ecx
call dword [0x4d6460]
mov edx, dword [ebx + 0x64]
push ebp
push ebp
push edx
call dword [0x4d6778]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov eax, dword [esp + 0x4c]
mov ecx, ebx
push eax
call fcn.004764d0
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret 0x10
mov ebp, dword [esp + 0x58]
push 0xfffffffffffffff4
push ebp
call dword [0x4d6804]
push 0
push 0
push 0x468
push ebp
mov edi, eax
call dword [0x4d67a0]
mov esi, eax
lea eax, [edi - 0x215]
and esi, 0xffff
cmp eax, 0x14
ja case.0x479553.542
xor ecx, ecx
mov cl, byte [eax + 0x479b60]
jmp dword [ecx*4 + 0x479b38]
mov eax, dword [ebx + 0x7c]
mov ebp, dword [0x4d63a4]
test eax, eax
je 0x47959b
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call ebp
cmp eax, 0x102
jne 0x47958a
push 0x40
call dword [0x4d6734]
jmp 0x47959b
mov edx, dword [ebx + 0x7c]
push edx
call dword [0x4d6384]
mov dword [ebx + 0x7c], 0
push 0
mov dword [ebx + 0xc8], esi
push esi
mov esi, dword [esp + 0x54]
push 0x227
push esi
call dword [0x4d66f8]
push 0xffffffffffffffff
push 0
push 0xb1
push edi
push esi
call dword [0x4d6814]
mov eax, dword [ebx + 0x7c]
test eax, eax
je 0x479600
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call ebp
cmp eax, 0x102
jne 0x4795ef
push 0x40
call dword [0x4d6734]
jmp 0x479660
mov eax, dword [ebx + 0x7c]
push eax
call dword [0x4d6384]
mov dword [ebx + 0x7c], 0
mov eax, dword [ebx + 0x7c]
test eax, eax
jne 0x479660
mov eax, dword [ebx + 0x74]
test eax, eax
je 0x47961e
mov ecx, dword [ebx + 0xc8]
mov eax, dword [ebx + 0xf0]
cmp ecx, eax
je 0x479660
push 0
mov ecx, ebx
mov dword [ebx + 0x80], 0
call fcn.00478270
lea edx, [esp + 0x4c]
push edx
push 4
push ebx
push 0x475c50
push 0
push 0
call fcn.004a899b
add esp, 0x18
mov dword [ebx + 0x7c], eax
push 0xfffffffffffffffe
push eax
call dword [0x4d6464]
mov eax, dword [ebx + 0x7c]
push eax
call dword [0x4d6460]
mov ebx, dword [ebx + 0x64]
test ebx, ebx
je case.0x479553.542
push 0
push 0
push ebx
call dword [0x4d6778]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
push 0
push esi
mov esi, dword [esp + 0x54]
push 0x225
push esi
call dword [0x4d66f8]
jmp 0x47978a
mov edi, 0x216
jmp 0x4796cc
mov edi, 0x21c
jmp 0x4796cc
mov edi, 0x21f
jmp 0x4796cc
mov edi, 0x21d
jmp 0x4796cc
mov edi, 0x21e
jmp 0x4796cc
mov edi, 0x221
jmp 0x4796cc
mov edi, 0x222
mov cx, word [0x4edf14]
lea eax, [esp + 0x10]
xor edx, edx
push 0xa
push eax
lea esi, [esi + esi*4]
mov dword [esp + 0x1a], edx
push 0xe
push 0x400
mov word [esp + 0x20], cx
shl esi, 1
mov dword [esp + 0x26], edx
call dword [0x4d6488]
mov eax, esi
mov ecx, 0x64
cdq
idiv ecx
mov eax, 0x51eb851f
lea ecx, [esp + 0x20]
push edx
lea edx, [esp + 0x14]
push edx
imul esi
sar edx, 5
mov eax, edx
shr eax, 0x1f
add edx, eax
push edx
push str._0d_s_02d
push ecx
call dword [0x4d6784]
mov eax, 0x66666667
add esp, 0x14
imul esi
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
and edx, 0xffff
push edx
push 0
push 0x467
push ebp
call dword [0x4d67a0]
mov esi, dword [esp + 0x4c]
lea ecx, [esp + 0x34]
push 0x14
push ecx
push edi
push esi
call dword [0x4d6818]
lea edx, [esp + 0x20]
lea eax, [esp + 0x34]
push edx
push eax
call dword [0x4d6440]
test eax, eax
je 0x47978a
lea ecx, [esp + 0x20]
push ecx
push edi
push esi
call dword [0x4d6824]
push 0xffffffffffffffff
push 0
push 0xb1
push edi
push esi
call dword [0x4d6814]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
add eax, 0xfffffbff
cmp eax, 3
ja case.default.0x4797b8
jmp dword [eax*4 + 0x479b78]
mov dword [ebx + 0x84], 1
mov eax, dword [ebx + 0x64]
test eax, eax
je case.0x479553.542
mov ecx, ebx
call fcn.00477220
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov edx, dword [ebx + 0xf0]
mov esi, dword [esp + 0x4c]
mov ebp, dword [0x4d66f8]
push 0
push edx
push 0x22b
push esi
call ebp
push 0x229
push esi
call dword [0x4d6808]
mov edi, eax
mov eax, dword [ebx + 0xf0]
and eax, 0xffff
or eax, 0x10000
push eax
push 0
push 0x465
push edi
call dword [0x4d67a0]
push 1
push 0
push edi
mov edi, dword [0x4d6778]
call edi
push 0
push 0
push 0x227
push esi
call dword [0x4d66f0]
mov dword [ebx + 0xc8], eax
mov ecx, dword [ebx + 0xf0]
cmp eax, ecx
jle 0x47986c
push 0
push ecx
push 0x227
push esi
mov dword [ebx + 0xc8], ecx
call ebp
mov ecx, dword [ebx + 0x64]
xor ebp, ebp
push ebp
push ebp
push ecx
call edi
push ebp
push 0x244
push esi
call dword [0x4d6808]
push eax
call dword [0x4d6828]
mov eax, dword [ebx + 0x7c]
cmp eax, ebp
je 0x4798d2
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call dword [0x4d63a4]
cmp eax, 0x102
jne 0x4798c5
push 0x40
call dword [0x4d6734]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov edx, dword [ebx + 0x7c]
push edx
call dword [0x4d6384]
mov dword [ebx + 0x7c], ebp
cmp dword [ebx + 0x7c], ebp
jne case.0x479553.542
cmp dword [ebx + 0x74], ebp
je 0x4798f4
mov eax, dword [ebx + 0xc8]
mov ecx, dword [ebx + 0xf0]
cmp eax, ecx
je case.0x479553.542
push ebp
mov ecx, ebx
mov dword [ebx + 0x80], ebp
call fcn.00478270
lea ecx, [esp + 0x4c]
push ecx
push 4
push ebx
push 0x475c50
push ebp
push ebp
call fcn.004a899b
add esp, 0x18
mov dword [ebx + 0x7c], eax
push 0xfffffffffffffffe
push eax
call dword [0x4d6464]
mov edx, dword [ebx + 0x7c]
push edx
call dword [0x4d6460]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov ecx, dword [ebx + 0x64]
lea eax, [esp + 0x20]
push eax
push ecx
call dword [0x4d67a8]
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov esi, dword [eax + 0x10]
mov eax, dword [eax + 0x14]
add eax, edx
mov dword [esp + 0x14], edx
mov edx, dword [ebx + 0xcc]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x28]
add esi, ecx
push edx
mov dword [esp + 0x1c], esi
mov esi, dword [0x4d6350]
push eax
push ecx
mov dword [esp + 0x1c], ecx
call esi
mov ecx, dword [ebx + 0xcc]
mov edx, dword [esp + 0x28]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x18]
push ecx
push edx
push eax
call esi
mov ecx, dword [ebx + 0xd0]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
push ecx
push edx
push eax
call esi
mov ecx, dword [ebx + 0xd0]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x1c]
push ecx
push edx
push eax
call esi
mov edx, dword [ebx + 0x64]
lea ecx, [esp + 0x10]
push 0
push ecx
push edx
mov dword [esp + 0x28], eax
call dword [0x4d6778]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov eax, dword [ebx + 0x64]
xor esi, esi
push esi
push esi
push eax
call dword [0x4d6778]
mov eax, dword [ebx + 0x7c]
cmp eax, esi
je 0x479a45
push 0xbb8
push eax
mov dword [ebx + 0x80], 1
call dword [0x4d63a4]
cmp eax, 0x102
jne 0x479a38
push 0x40
call dword [0x4d6734]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
mov ecx, dword [ebx + 0x7c]
push ecx
call dword [0x4d6384]
mov dword [ebx + 0x7c], esi
cmp dword [ebx + 0x7c], esi
jne case.0x479553.542
cmp dword [ebx + 0x74], esi
je 0x479a67
mov edx, dword [ebx + 0xc8]
mov eax, dword [ebx + 0xf0]
cmp edx, eax
je case.0x479553.542
push esi
mov ecx, ebx
mov dword [ebx + 0x80], esi
call fcn.00478270
lea eax, [esp + 0x4c]
push eax
push 4
push ebx
push 0x475c50
push esi
push esi
call fcn.004a899b
add esp, 0x18
mov dword [ebx + 0x7c], eax
push 0xfffffffffffffffe
push eax
call dword [0x4d6464]
mov ecx, dword [ebx + 0x7c]
push ecx
call dword [0x4d6460]
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0x38
ret 0x10
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret 0x10