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

Disassembly:
sub esp, 0x4c
mov eax, dword [esp + 0x64]
push ebx
mov ebx, dword [esp + 0x58]
push ebp
push esi
push edi
push ebx
mov esi, ecx
mov dword [eax], 0
mov dword [esp + 0x20], 0
call fcn.00515800
mov dword [esp + 0x28], eax
mov eax, dword [eax]
test eax, 0x10000
je 0x51a133
lea ecx, [esp + 0x74]
push ecx
push eax
lea edx, [esp + 0x78]
push edx
mov ecx, esi
call fcn.00516950
mov ecx, eax
call fcn.004d9b80
mov eax, dword [eax]
mov ecx, dword [eax + 0xc]
push ebx
push ecx
push str.QDateTimeParser::parseSection_Internal_error___s__d_
call fcn.004d1870
mov edx, dword [esp + 0x80]
add esp, 0xc
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x51a10c
mov ecx, dword [esp + 0x74]
push ecx
call fcn.004de870
add esp, 4
mov edx, dword [esp + 0x70]
or eax, 0xffffffff
lock xadd dword [edx], eax
jne 0x51a126
mov ecx, dword [esp + 0x70]
push ecx
call fcn.004d8200
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 0x1c
push ebx
mov ecx, esi
call fcn.00515800
mov edx, dword [eax + 8]
mov eax, dword [eax]
push edx
push eax
mov ecx, esi
call fcn.00517520
mov ecx, dword [esp + 0x70]
mov edi, dword [esp + 0x68]
push eax
push ecx
lea edx, [esp + 0x1c]
push edx
mov ecx, edi
mov dword [esp + 0x30], eax
call fcn.004d9960
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x28]
mov ebp, dword [eax + 8]
mov ecx, dword [ecx]
mov eax, ecx
cmp eax, 0x20
mov dword [esp + 0x3c], ebp
mov dword [esp + 0x18], 0
jg 0x51a260
je case.0x51a19e.2
dec eax
cmp eax, 0xf
ja case.0x51a19e.3
movzx edx, byte [eax + 0x51a770]
jmp dword [edx*4 + 0x51a764]
lea eax, [esp + 0x18]
push eax
push ebx
lea ecx, [esp + 0x1c]
push ecx
mov ecx, esi
call fcn.00517890
lea ecx, [eax + 1]
cmp ecx, 5
ja case.default.0x51a1bf
jmp dword [ecx*4 + 0x51a780]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x1c], eax
mov dword [edx], 2
jmp 0x51a219
add eax, 0xfffffffe
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x74]
mov dword [eax], 1
jmp 0x51a219
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x1c], 0
mov dword [ecx], 1
jmp 0x51a219
mov edx, dword [esp + 0x74]
mov dword [edx], 0
jmp 0x51a71e
mov eax, dword [esp + 0x74]
cmp dword [eax], 0
je 0x51a71e
mov eax, dword [edi]
mov dword [esp + 0x64], eax
mov ecx, 1
lock xadd dword [eax], ecx
mov esi, dword [esp + 0x18]
push esi
lea edx, [esp + 0x48]
push edx
lea ecx, [esp + 0x1c]
call fcn.004d98e0
push eax
mov eax, dword [esp + 0x74]
push esi
push eax
mov ecx, edi
call fcn.004de0a0
lea ecx, [esp + 0x44]
call fcn.00401110
lea ecx, [esp + 0x64]
call fcn.00401110
jmp 0x51a71e
cmp eax, 0x400
jg 0x51a27f
je case.0x51a19e.2
cmp eax, 0x100
je case.0x51a19e.2
cmp eax, 0x200
jmp 0x51a28f
cmp eax, 0x800
je case.0x51a19e.2
cmp eax, 0x1000
je 0x51a321
lea edx, [esp + 0x30]
push edx
push ecx
lea eax, [esp + 0x3c]
push eax
mov ecx, esi
call fcn.00516950
mov ecx, eax
call fcn.004d9b80
mov ecx, dword [eax]
mov edx, dword [ecx + 0xc]
push ebx
push edx
push str.QDateTimeParser::parseSection_Internal_error___s__d_
call fcn.004d1870
mov eax, dword [esp + 0x3c]
add esp, 0xc
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51a2dc
mov edx, dword [esp + 0x30]
push edx
call fcn.004de870
add esp, 4
mov eax, dword [esp + 0x34]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51a2f6
mov edx, dword [esp + 0x34]
push edx
call fcn.004d8200
add esp, 4
mov eax, dword [esp + 0x14]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51a126
mov edx, dword [esp + 0x14]
push edx
call fcn.004d8200
add esp, 4
or eax, 0xffffffff
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 0x1c
mov eax, dword [esp + 0x28]
cmp dword [eax + 8], 3
jl case.0x51a19e.2
cmp ecx, 0x200
jne 0x51a3bb
mov edx, dword [esi]
mov edx, dword [edx + 4]
lea eax, [esp + 0x48]
push eax
mov ecx, esi
mov dword [esp + 0x6c], 1
call edx
mov eax, dword [eax]
mov ecx, dword [eax + 4]
mov dword [esp + 0x64], ecx
lea ecx, [esp + 0x48]
call fcn.00515650
mov edx, dword [esp + 0x60]
mov eax, dword [edx]
mov ecx, dword [eax + 4]
mov dword [esp + 0x60], ecx
lea ecx, [esp + 0x60]
call fcn.00514e20
lea ecx, [esp + 0x64]
mov ebp, eax
call fcn.00514e20
cmp ebp, eax
jne 0x51a393
lea ecx, [esp + 0x64]
call fcn.00514e40
jmp 0x51a397
mov eax, dword [esp + 0x68]
lea edx, [esp + 0x18]
push edx
lea ecx, [esp + 0x18]
push ecx
push ebx
push eax
lea edx, [esp + 0x5c]
push edx
call fcn.004dc290
push eax
mov ecx, esi
call fcn.00516690
lea ecx, [esp + 0x4c]
jmp 0x51a3de
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x18]
push ecx
push ebx
push 1
lea edx, [esp + 0x60]
push edx
call fcn.004dc290
push eax
mov ecx, esi
call fcn.005158f0
lea ecx, [esp + 0x50]
mov dword [esp + 0x1c], eax
call fcn.00401110
cmp dword [esp + 0x1c], 0xffffffff
je 0x51a448
mov ecx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x74]
xor eax, eax
cmp esi, dword [ecx + 8]
mov ecx, 1
sete al
inc eax
mov dword [edx], eax
mov eax, dword [edi]
mov dword [esp + 0x64], eax
lock xadd dword [eax], ecx
push esi
lea edx, [esp + 0x58]
push edx
lea ecx, [esp + 0x1c]
call fcn.004d98e0
push eax
mov eax, dword [esp + 0x74]
push esi
push eax
mov ecx, edi
call fcn.004de0a0
lea ecx, [esp + 0x54]
call fcn.00401110
lea ecx, [esp + 0x64]
call fcn.00401110
jmp 0x51a71e
mov ecx, dword [esp + 0x74]
mov dword [ecx], 1
jmp 0x51a71e
xor eax, eax
cmp ebp, eax
jne 0x51a474
mov edx, dword [esp + 0x74]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], eax
mov dword [edx], 1
jmp 0x51a71e
lea ecx, [esp + 0x38]
call fcn.00515610
push eax
push ebx
mov ecx, esi
call fcn.005171f0
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x38]
test eax, eax
je 0x51a4a8
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51a4a8
mov edx, dword [esp + 0x38]
push edx
call fcn.0059392f
add esp, 4
lea ecx, [esp + 0x58]
call fcn.005101c0
mov eax, dword [esp + 0x14]
mov byte [esp + 0x11], 1
mov dword [esp + 0x18], 0xffffffff
mov dword [esp + 0x20], eax
mov ecx, 1
lock xadd dword [eax], ecx
xor edi, edi
test ebp, ebp
jle 0x51a4ff
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 0xc]
mov cx, word [eax + edi*2]
mov word [esp + 0x12], cx
lea ecx, [esp + 0x12]
call fcn.004d75f0
test al, al
jne 0x51a4f9
inc edi
cmp edi, ebp
jl 0x51a4d5
jmp 0x51a4ff
mov ebp, edi
mov dword [esp + 0x3c], ebp
cmp dword [esp + 0x24], ebp
lea eax, [esp + 0x24]
jl 0x51a50d
lea eax, [esp + 0x3c]
mov edi, dword [eax]
cmp edi, 1
jl 0x51a574
mov ebp, dword [esp + 0x40]
jmp 0x51a520
push edi
lea ecx, [esp + 0x24]
call fcn.004dbfc0
push 0xa
lea edx, [esp + 0x15]
push edx
lea eax, [esp + 0x28]
push eax
lea ecx, [esp + 0x64]
call fcn.00511870
cmp byte [esp + 0x11], 0
je 0x51a563
mov ecx, dword [esp + 0x28]
cmp dword [ecx], 0x10
jne 0x51a55f
cmp eax, 0xc
jle 0x51a55b
mov byte [esp + 0x11], 0
jmp 0x51a563
jne 0x51a55f
xor eax, eax
cmp eax, ebp
jle 0x51a56b
dec edi
cmp edi, 1
jge 0x51a520
jmp 0x51a574
mov dword [esp + 0x18], edi
cmp eax, 0xffffffff
jne 0x51a5c5
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 0xc]
mov cx, word [eax]
mov esi, dword [esi + 0x48]
mov word [esp + 0x70], cx
mov eax, dword [esi + 8]
push 1
lea edx, [esp + 0x74]
add eax, ebx
push edx
lea ecx, [esi + eax*4 + 0x18]
call fcn.004d82d0
test al, al
je 0x51a5b6
mov dword [esp + 0x18], 0
mov ecx, dword [esp + 0x74]
mov dword [ecx], 1
jmp 0x51a704
mov edx, dword [esp + 0x74]
mov dword [edx], 0
jmp 0x51a704
mov ebp, eax
mov eax, ebx
push eax
lea ecx, [esp + 0x40]
push ecx
mov ecx, esi
mov dword [esp + 0x24], ebp
call fcn.00517e50
cmp edi, dword [esp + 0x24]
sete bl
test bl, bl
jne 0x51a60f
mov edx, dword [esp + 0x3c]
and edx, 8
je 0x51a60f
mov eax, dword [esp + 0x24]
cmp edi, eax
jge 0x51a60f
sub eax, edi
jmp 0x51a600
lea ebp, [ebp + ebp*4]
add ebp, ebp
sub eax, 1
jne 0x51a600
mov dword [esp + 0x1c], ebp
mov edi, dword [esp + 0x64]
push edi
mov ecx, esi
call fcn.00517350
cmp ebp, eax
jge 0x51a631
mov ecx, dword [esp + 0x74]
xor eax, eax
test bl, bl
sete al
mov dword [ecx], eax
jmp 0x51a704
cmp ebp, dword [esp + 0x40]
jle 0x51a646
mov edx, dword [esp + 0x74]
mov dword [edx], 1
jmp 0x51a704
test bl, bl
jne 0x51a6fa
mov eax, dword [esp + 0x3c]
and eax, 3
cmp eax, 3
jne 0x51a6fa
mov ecx, dword [esp + 0x60]
lea eax, [esp + 0x20]
push eax
push ecx
push edi
mov ecx, esi
call fcn.005196d0
test al, al
je 0x51a5a7
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov dword [edx], 2
mov eax, dword [eax + 8]
mov esi, edi
sub esi, eax
push esi
push ecx
mov eax, esp
mov ecx, 0x30
mov word [eax], cx
mov dword [esp + 0x34], 0x6d00d4
mov edx, 0x6d00d4
mov eax, 1
lock xadd dword [edx], eax
lea ecx, [esp + 0x34]
call fcn.004dc000
mov eax, dword [eax]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [esp + 0x70]
push ecx
mov ecx, dword [esp + 0x6c]
push edx
push eax
call fcn.004db300
mov ecx, dword [esp + 0x2c]
or edx, 0xffffffff
lock xadd dword [ecx], edx
jne 0x51a6ee
mov eax, dword [esp + 0x2c]
push eax
call fcn.004d8200
add esp, 4
mov eax, dword [esp + 0x6c]
add dword [eax], esi
mov dword [esp + 0x18], edi
jmp 0x51a704
mov edx, dword [esp + 0x74]
mov dword [edx], 2
mov eax, dword [esp + 0x20]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51a71e
mov edx, dword [esp + 0x20]
push edx
call fcn.004d8200
add esp, 4
mov eax, dword [esp + 0x78]
test eax, eax
je 0x51a72c
mov ecx, dword [esp + 0x18]
mov dword [eax], ecx
mov edx, dword [esp + 0x74]
cmp dword [edx], 0
je 0x51a73b
mov esi, dword [esp + 0x1c]
jmp 0x51a73e
or esi, 0xffffffff
mov eax, dword [esp + 0x14]
or ecx, 0xffffffff
lock xadd dword [eax], ecx
jne 0x51a758
mov edx, dword [esp + 0x14]
push edx
call fcn.004d8200
add esp, 4
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
add esp, 0x4c
ret 0x1c