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

Disassembly:
mov eax, dword [esp + 8]
push esi
or esi, 0xffffffff
cmp eax, 0xa
ja case.default.0x425351
jmp dword [eax*4 + 0x4255d0]
mov eax, dword [esp + 0x10]
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je case.default.0x425351
mov esi, 3
mov eax, esi
pop esi
ret 0xc
mov ecx, dword [esp + 0x10]
mov ecx, dword [ecx + 4]
mov edx, dword [esp + 8]
lea ecx, [ecx]
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x425380
mov eax, esi
pop esi
ret 0xc
mov edx, dword [ecx + 0x34]
mov eax, dword [edx + 0x198]
test eax, eax
mov eax, 0x461344
jne 0x4253a7
mov eax, 0x45fc8c
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0xc]
push edx
push eax
mov eax, dword [esp + 0x10]
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, esi
pop esi
ret 0xc
mov eax, dword [esp + 0x10]
movzx ecx, word [eax + 0x24]
movzx edx, word [eax + 0x22]
push ecx
movzx ecx, word [eax + 0x20]
push edx
movzx edx, word [eax + 0x1e]
push ecx
movzx ecx, word [eax + 0x1a]
push edx
movzx edx, word [eax + 0x18]
mov eax, dword [esp + 0x18]
push ecx
push edx
push str._04d._02d._02d__02d:_02d:_02d
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x20
mov eax, esi
pop esi
ret 0xc
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 8]
mov edx, eax
and dl, 4
neg dl
sbb dl, dl
and dl, 0xf4
add dl, 0x5f
movsx ecx, dl
mov edx, eax
and dl, 1
neg dl
sbb dl, dl
and dl, 0xf3
add dl, 0x5f
push ecx
movsx ecx, dl
mov edx, eax
and dl, 2
neg dl
sbb dl, dl
and eax, 0x800
and dl, 0xe9
add dl, 0x5f
neg eax
sbb al, al
push ecx
and al, 0xe4
movsx ecx, dl
add al, 0x5f
movsx edx, al
mov eax, dword [esp + 0x10]
push ecx
push edx
push str._c_c_c_c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x18
mov eax, esi
pop esi
ret 0xc
mov ecx, dword [esp + 0x10]
movzx edx, word [ecx + 0x4a]
mov eax, dword [esp + 8]
push edx
push 0x46269c
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, esi
pop esi
ret 0xc
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x78]
mov eax, dword [esp + 8]
push edx
push str._08X
push eax
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, esi
pop esi
ret 0xc
mov ecx, dword [ecx + 0x34]
mov eax, dword [ecx + 0x198]
test eax, eax
mov eax, 0x461344
jne 0x4254c3
mov eax, 0x45fc8c
mov edx, dword [esp + 0x10]
mov ecx, dword [edx + 0x94]
mov edx, dword [esp + 8]
push ecx
push eax
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0xc
mov eax, esi
pop esi
ret 0xc
mov ecx, dword [str._EIRXSFDIMTC12345_]
mov edx, dword [esp + 8]
mov eax, edx
mov dword [eax], ecx
mov ecx, dword [0x467a18]
mov dword [eax + 4], ecx
mov ecx, dword [0x467a1c]
mov dword [eax + 8], ecx
mov ecx, dword [0x467a20]
mov dword [eax + 0xc], ecx
mov cx, word [0x467a24]
mov word [eax + 0x10], cx
mov cl, byte [0x467a26]
mov byte [eax + 0x12], cl
mov ecx, dword [esp + 0x10]
xor eax, eax
add ecx, 0xbc
lea esp, [esp]
cmp dword [ecx], 0
jne 0x42553a
mov byte [edx + eax + 1], 0x5f
inc eax
add ecx, 8
cmp eax, 0x10
jl 0x425530
mov eax, esi
pop esi
ret 0xc
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x38]
test eax, eax
je case.default.0x425351
mov ecx, dword [str.decompress_error]
mov eax, dword [esp + 8]
mov dword [eax], ecx
mov edx, dword [0x467a04]
mov dword [eax + 4], edx
mov ecx, dword [0x467a08]
mov dword [eax + 8], ecx
mov edx, dword [0x467a0c]
mov dword [eax + 0xc], edx
mov cl, byte [0x467a10]
mov byte [eax + 0x10], cl
mov eax, esi
pop esi
ret 0xc
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x40]
test eax, eax
jl case.default.0x425351
mov ecx, dword [ecx + 0x34]
mov edx, dword [ecx + 0xf8]
add ecx, 0xf0
cmp edx, 1
jle case.default.0x425351
cmp eax, edx
jge case.default.0x425351
mov ecx, dword [ecx + 4]
imul eax, eax, 0x2c4
mov edx, dword [esp + 8]
lea ecx, [eax + ecx + 0x14]
mov edi, edi
mov al, byte [ecx]
inc ecx
mov byte [edx], al
inc edx
test al, al
jne 0x4255c0
mov eax, esi
pop esi
ret 0xc