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

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x45131e
push eax
mov dword fs:[0], esp
sub esp, 0xbc
push ebx
push esi
mov esi, dword [esp + 0xd4]
mov eax, dword [esi]
mov edx, dword [eax]
push edi
lea ecx, [esp + 0x14]
push ecx
xor ebx, ebx
push ebx
mov ecx, esi
xor edi, edi
call edx
test al, al
je 0x422d79
push ebp
mov ebp, 0x456884
jmp 0x422b20
mov eax, 0x40
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x28], 0x455778
mov dword [esp + 0xd4], ebx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x6c], ebx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x74], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov eax, dword [esi]
mov edx, dword [eax + 8]
lea ecx, [esp + 0x10]
push ecx
push edi
mov ecx, esi
mov byte [esp + 0xdc], 2
call edx
mov eax, dword [esp + 0x24]
cmp eax, 4
ja case.default.0x422b8f
jmp dword [eax*4 + 0x422d94]
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x2c]
push str.____no__s
push ecx
call fcn.00420ee0
add esp, 0xc
cmp byte [esp + 0x14], bl
mov eax, 0x456020
jne 0x422bbd
mov eax, 0x4568f4
mov edx, dword [esp + 0x20]
push eax
push edx
push str._s___s_
lea eax, [esp + 0x70]
push eax
jmp 0x422cb3
mov ecx, dword [esp + 0x1c]
push ecx
lea edx, [esp + 0x2c]
push str.____s
push edx
call fcn.00420ee0
mov eax, dword [esp + 0x2c]
add esp, 0xc
push 0xffffffffffffffff
push eax
lea ecx, [esp + 0x6c]
call fcn.0041ebb0
jmp case.default.0x422b8f
mov ecx, dword [esp + 0x1c]
push ecx
lea edx, [esp + 0x2c]
push str.____s_val_
push edx
call fcn.00420ee0
fld dword [esp + 0x20]
mov eax, dword [esp + 0x2c]
fstp qword [esp + 4]
add esp, 4
push eax
lea ecx, [esp + 0x70]
push str._s___g_
push ecx
call fcn.00420ee0
add esp, 0x14
jmp case.default.0x422b8f
mov edx, dword [esp + 0x1c]
push edx
lea eax, [esp + 0x2c]
push str.____s_val_
push eax
call fcn.00420ee0
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
push ecx
push edx
lea eax, [esp + 0x78]
push str._s___ld_
push eax
call fcn.00420ee0
add esp, 0x1c
jmp case.default.0x422b8f
mov ecx, dword [esp + 0x1c]
push ecx
lea edx, [esp + 0x2c]
push str.____s_val_
push edx
call fcn.00420ee0
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx]
mov edx, dword [eax + 0x28]
add esp, 0xc
call edx
test eax, eax
je 0x422c9e
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx]
mov edx, dword [eax + 0x28]
call edx
jmp 0x422ca3
mov eax, 0x4568b8
push eax
mov eax, dword [esp + 0x24]
push eax
push 0x4568b0
lea ecx, [esp + 0x70]
push ecx
call fcn.00420ee0
add esp, 0x10
cmp dword [esp + 0xc8], ebx
mov eax, dword [esp + 0x68]
jne 0x422cd0
cmp eax, ebx
jne 0x422cd4
xor ecx, ecx
jmp 0x422cdc
cmp eax, ebx
je 0x422cd8
mov ecx, eax
jmp 0x422cdc
lea ecx, [esp + 0x78]
cmp dword [esp + 0x60], ebx
mov eax, dword [esp + 0x2c]
jne 0x422cee
cmp eax, ebx
jne 0x422cf6
xor eax, eax
jmp 0x422cf6
cmp eax, ebx
jne 0x422cf6
lea eax, [esp + 0x3c]
push ecx
push eax
push str.__21s_s_n
call fcn.00422770
add esp, 0xc
cmp dword [esp + 0x10], 4
mov byte [esp + 0xd4], 1
jne 0x422d2f
mov eax, dword [esp + 0x14]
cmp eax, ebx
je 0x422d2f
mov edx, dword [eax + 4]
mov ecx, dword [edx + 4]
mov edx, dword [ecx + eax + 4]
lea ecx, [ecx + eax + 4]
mov eax, dword [edx + 8]
call eax
lea ecx, [esp + 0x64]
mov byte [esp + 0xd4], bl
mov dword [esp + 0x64], ebp
call fcn.0041e9c0
lea ecx, [esp + 0x28]
mov dword [esp + 0xd4], 0xffffffff
mov dword [esp + 0x28], 0x45569c
call fcn.0041e9c0
mov edx, dword [esi]
mov edx, dword [edx]
lea eax, [esp + 0x18]
push eax
add edi, 1
push edi
mov ecx, esi
call edx
test al, al
jne 0x422b20
pop ebp
mov ecx, dword [esp + 0xc8]
pop edi
pop esi
pop ebx
mov dword fs:[0], ecx
add esp, 0xc8
ret